V3 PATCH: #undef some C99 math macros in <cmath>
Gabriel Dos Reis
Gabriel.Dos-Reis@cmla.ens-cachan.fr
Thu Apr 5 19:24:00 GMT 2001
Benjamin Kosnik <bkoz@redhat.com> writes:
| a better way to do this would be to disable _USE_GNU so that math.h
| doesn't define the C99 stuff at all. We're going to have to do something
Does that behave correctly in case we're running on non-gnu system?
| similar to get long long working correctly. (I'm planing on working on
| that after the backwards stuff gets finished/in)
|
| also, can you please please please. Please. Please put in a testsuite
| regression?
Done with the patch attached.
-- Gaby
2001-04-06 Gabriel Dos Reis <gdr@codesourcery.com>
* testsuite/26_numerics/c99_macros.cc: Add test.
Index: testsuite/26_numerics/c99_macros.cc
===================================================================
RCS file: c99_macros.cc
diff -N c99_macros.cc
*** /dev/null Tue May 5 13:32:27 1998
--- c99_macros.cc Thu Apr 5 19:17:55 2001
***************
*** 0 ****
--- 1,61 ----
+ // 2001-04-06 gdr
+
+ // Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+ //
+ // 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, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ // USA.
+
+ // As a special exception, you may use this file as part of a free software
+ // library without restriction. Specifically, if other files instantiate
+ // templates or use macros or inline functions from this file, or you compile
+ // this file and link it with other files to produce an executable, this
+ // file does not by itself cause the resulting executable to be covered by
+ // the GNU General Public License. This exception does not however
+ // invalidate any other reasons why the executable file might be covered by
+ // the GNU General Public License.
+
+ // { dg-do compile }
+
+ #include <math.h>
+
+ void fpclassify() { }
+
+ void isfinite() { }
+
+ void isinf() { }
+
+ void isnan() { }
+
+ void isnormal() { }
+
+ void signbit() { }
+
+ void isgreater() { }
+
+ void isgreaterequal() { }
+
+ void isless() { }
+
+ void islessequal() { }
+
+ void islessgreater() { }
+
+ void isunordered() { }
+
+ int main()
+ {
+ return 0;
+ }
More information about the Gcc-patches
mailing list