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
