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


-----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?

- --
Life is short - so eat dessert first!

Eric Blake             ebb9@byu.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDOpBT84KuGfSFAYARAn3xAKDOiEUXCr0Z4eo4xqn9DyEkY11WmQCfYQ7b
06I3fPYha6SC3N310yV79TI=
=pG39
-----END PGP SIGNATURE-----

--
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]