This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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: [Patch] libstdc++/29989


Gabriel Dos Reis wrote:

Instead of remving the #undef, the fix should have been to do it
systematically. c++config is a good place.


Note that the below isn't *instead* is *additionally* ;)

Paolo.

////////////////
2006-12-04  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/29989 (again)
	* include/bits/c++config: #undef min and max.
	* testsuite/18_support/numeric_limits/29989.cc: New.
Index: include/bits/c++config
===================================================================
--- include/bits/c++config	(revision 119482)
+++ include/bits/c++config	(working copy)
@@ -193,4 +193,8 @@
 // for something else under certain OSes (see BADNAMES).
 #define __N(msgid)     (msgid)
 
+// For example, <windows.h> is known to #define min and max as macros...
+#undef min
+#undef max
+
 // End of prewritten config; the discovered settings follow.
Index: testsuite/18_support/numeric_limits/29989.cc
===================================================================
--- testsuite/18_support/numeric_limits/29989.cc	(revision 0)
+++ testsuite/18_support/numeric_limits/29989.cc	(revision 0)
@@ -0,0 +1,23 @@
+// { dg-do compile }
+
+// Copyright (C) 2006 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// libstdc++/29989
+#define max(a,b) quirk
+#include <limits>

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