diff options
Diffstat (limited to 'libstdc++-v3/testsuite/20_util')
-rw-r--r-- | libstdc++-v3/testsuite/20_util/unreachable/1.cc | 17 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/unreachable/version.cc | 10 |
2 files changed, 27 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/20_util/unreachable/1.cc b/libstdc++-v3/testsuite/20_util/unreachable/1.cc new file mode 100644 index 00000000000..0c463d52a48 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/unreachable/1.cc @@ -0,0 +1,17 @@ +// { dg-options "-std=gnu++23" } +// { dg-do compile { target c++23 } } + +#include <utility> + +#ifndef __cpp_lib_unreachable +# error "Feature-test macro for unreachable missing in <utility>" +#elif __cpp_lib_unreachable != 202202L +# error "Feature-test macro for unreachable has wrong value in <utility>" +#endif + +bool test01(int i) +{ + if (i == 4) + return true; + std::unreachable(); +} // { dg-bogus "control reaches end of non-void function" } diff --git a/libstdc++-v3/testsuite/20_util/unreachable/version.cc b/libstdc++-v3/testsuite/20_util/unreachable/version.cc new file mode 100644 index 00000000000..c7795900c30 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/unreachable/version.cc @@ -0,0 +1,10 @@ +// { dg-options "-std=gnu++23" } +// { dg-do preprocess { target c++23 } } + +#include <version> + +#ifndef __cpp_lib_unreachable +# error "Feature-test macro for unreachable missing in <version>" +#elif __cpp_lib_unreachable != 202202L +# error "Feature-test macro for unreachable has wrong value in <version>" +#endif |