Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Reply-To: Cygwin List Message-Id: <6.2.1.2.0.20050928105005.0443a958@pop.prospeed.net> Date: Wed, 28 Sep 2005 10:51:14 -0400 To: Eric Blake From: Larry Hall Subject: Re: Strange behaviour with g++ 3.4.4-1 Cc: cygwin AT cygwin DOT com In-Reply-To: <433A9054.7000202@byu.net> References: <433A9054 DOT 7000202 AT byu DOT net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" 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 >>>> #include >>>>+#undef max >>>>+#undef min >>>> #include >>> >>> >> >> 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, DOES check if min and max are already defined before >defining them. But 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/