This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
[v3] suppress special math when c++0x, v2
- From: Benjamin Kosnik <bkoz at redhat dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: libstdc++ <libstdc++ at gcc dot gnu dot org>
- Date: Thu, 17 May 2007 13:42:02 +0200
- Subject: [v3] suppress special math when c++0x, v2
This is much like what was posted yesterday, but instead of adding a new
macro (_GLIBCXX_SUPPRESS_TR1) I just use the usual pre-defined macro for
C++0x support.
I do this because it's simpler, and also because defining/undefining is
pretty fragile, especially in something that includes other std headers
and has a non-trivial dependency chain.
tested x86/linux
-benjamin
2007-05-17 Benjamin Kosnik <bkoz@redhat.com>
* include/tr1/cmath: Guard special math with
__GXX_EXPERIMENTAL_CXX0X__.
* testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
Remove xfail.
Index: include/tr1/cmath
===================================================================
--- include/tr1/cmath (revision 124790)
+++ include/tr1/cmath (working copy)
@@ -943,12 +943,13 @@
_GLIBCXX_END_NAMESPACE
}
- /**
- * @defgroup tr1_math_spec_func Mathematical Special Functions
- * A collection of advanced mathematical special functions.
- * @{
- */
+/**
+ * @defgroup tr1_math_spec_func Mathematical Special Functions
+ * A collection of advanced mathematical special functions.
+ * @{
+ */
+#ifndef __GXX_EXPERIMENTAL_CXX0X__
#include <tr1/gamma.tcc>
#include <tr1/bessel_function.tcc>
#include <tr1/beta_function.tcc>
@@ -1409,4 +1410,6 @@
_GLIBCXX_END_NAMESPACE
}
+#endif // __GXX_EXPERIMENTAL_CXX0X__
+
#endif
Index: testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc
===================================================================
--- testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc (revision 124790)
+++ testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc (working copy)
@@ -49,26 +49,26 @@
using std::sph_neumann;
}
-// { dg-error "has not been declared" "" { xfail *-*-* } 27 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 28 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 29 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 30 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 31 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 32 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 33 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 34 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 35 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 36 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 37 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 38 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 39 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 40 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 41 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 42 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 43 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 44 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 45 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 46 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 47 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 48 }
-// { dg-error "has not been declared" "" { xfail *-*-* } 49 }
+// { dg-error "has not been declared" "" { target *-*-* } 27 }
+// { dg-error "has not been declared" "" { target *-*-* } 28 }
+// { dg-error "has not been declared" "" { target *-*-* } 29 }
+// { dg-error "has not been declared" "" { target *-*-* } 30 }
+// { dg-error "has not been declared" "" { target *-*-* } 31 }
+// { dg-error "has not been declared" "" { target *-*-* } 32 }
+// { dg-error "has not been declared" "" { target *-*-* } 33 }
+// { dg-error "has not been declared" "" { target *-*-* } 34 }
+// { dg-error "has not been declared" "" { target *-*-* } 35 }
+// { dg-error "has not been declared" "" { target *-*-* } 36 }
+// { dg-error "has not been declared" "" { target *-*-* } 37 }
+// { dg-error "has not been declared" "" { target *-*-* } 38 }
+// { dg-error "has not been declared" "" { target *-*-* } 39 }
+// { dg-error "has not been declared" "" { target *-*-* } 40 }
+// { dg-error "has not been declared" "" { target *-*-* } 41 }
+// { dg-error "has not been declared" "" { target *-*-* } 42 }
+// { dg-error "has not been declared" "" { target *-*-* } 43 }
+// { dg-error "has not been declared" "" { target *-*-* } 44 }
+// { dg-error "has not been declared" "" { target *-*-* } 45 }
+// { dg-error "has not been declared" "" { target *-*-* } 46 }
+// { dg-error "has not been declared" "" { target *-*-* } 47 }
+// { dg-error "has not been declared" "" { target *-*-* } 48 }
+// { dg-error "has not been declared" "" { target *-*-* } 49 }