https://gcc.gnu.org/g:41c95d5e53e66a97831e8c6ecdfca62e6f0dab4f

commit r16-4077-g41c95d5e53e66a97831e8c6ecdfca62e6f0dab4f
Author: Luc Grosheintz <[email protected]>
Date:   Tue Sep 23 14:34:41 2025 +0200

    libstdc++: Move test for __cpp_lib_not_fn to version.cc
    
    When running the tests without pre-compiled headers
    (--disable-libstdcxx-pch), the test fails, because the feature
    testing macro (FTM) isn't defined yet.
    
    This commit moves checking the FTM to a dedicated file (version.cc)
    that's run without PCH.
    
    libstdc++-v3/ChangeLog:
    
            * testsuite/20_util/function_objects/not_fn/nttp.cc: Move
            test of feature testing macro to version.cc
            * testsuite/20_util/function_objects/not_fn/version.cc: New test.
    
    Reviewed-by: Jonathan Wakely <[email protected]>
    Co-authored-by: Tomasz Kamiński <[email protected]>
    Signed-off-by: Luc Grosheintz <[email protected]>
    Signed-off-by: Tomasz Kamiński <[email protected]>

Diff:
---
 .../testsuite/20_util/function_objects/not_fn/nttp.cc        |  6 ------
 .../testsuite/20_util/function_objects/not_fn/version.cc     | 12 ++++++++++++
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/libstdc++-v3/testsuite/20_util/function_objects/not_fn/nttp.cc 
b/libstdc++-v3/testsuite/20_util/function_objects/not_fn/nttp.cc
index d35d828f14c6..d24ccf8a1872 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/not_fn/nttp.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/not_fn/nttp.cc
@@ -2,12 +2,6 @@
 
 // { dg-do run { target c++26 } }
 
-#ifndef __cpp_lib_not_fn
-# error "Feature test macro for not_fn is missing in <functional>"
-#elif __cpp_lib_not_fn < 202306L
-# error "Feature test macro for not_fn has wrong value in <functional>"
-#endif
-
 #include <functional>
 #include <testsuite_hooks.h>
 
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/not_fn/version.cc 
b/libstdc++-v3/testsuite/20_util/function_objects/not_fn/version.cc
new file mode 100644
index 000000000000..fc8a3c9ed760
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/function_objects/not_fn/version.cc
@@ -0,0 +1,12 @@
+// { dg-do preprocess { target c++17 } }
+// { dg-add-options no_pch }
+
+#include <functional>
+
+#ifndef __cpp_lib_not_fn
+# error "Feature test macro for not_fn is missing in <functional>"
+#elif __cpp_lib_not_fn < 201603L
+# error "Feature test macro __cpp_lib_not_fn has the wrong value for C++17 or 
later"
+#elif __cplusplus > 202302L && __cpp_lib_not_fn < 202306L
+# error "Feature test macro __cpp_lib_not_fn has the wrong value for C++26 or 
later"
+#endif

Reply via email to