This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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]

[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 } 

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