This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Strange behaviour with g++ 3.4.4-1


At 08:45 AM 9/28/2005, you wrote:
>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
>
>According to Andy Moreton on 9/27/2005 7:58 AM:
>>>>
>>>> #include <iostream>
>>>> #include <windows.h>
>>>>+#undef max
>>>>+#undef min
>>>> #include <complex>
>>>
>>>
>> 
>> The problem is that "windows.h" includes "windef.h" which defines the 
>> standard macros min() and max() without checking if they are already 
>> defined.
>
>Actually, <windef.h> DOES check if min and max are already defined before
>defining them.  But <complex> uses std::max, which won't work if max is a
>macro.  The correct fix, in my opinion, would be to update windef.h to not
>define min and max if __cplusplus is defined, since C++ is much less
>forgiving of min and max being macros in the first place (in other words,
>min and max as macros only works in C).
>
>But where does upstream windef.h live, to propose a patch to it?


Isn't it enough to offer a patch to the w32api package maintainer and let
that person take this upstream?


--
Larry Hall                              http://www.rfk.com
RFK Partners, Inc.                      (508) 893-9779 - RFK Office
838 Washington Street                   (508) 893-9889 - FAX
Holliston, MA 01746                     


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]