]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
c++: add feature-test macro for auto(x)
authorPatrick Palka <ppalka@redhat.com>
Mon, 15 May 2023 16:01:07 +0000 (12:01 -0400)
committerPatrick Palka <ppalka@redhat.com>
Mon, 15 May 2023 16:01:07 +0000 (12:01 -0400)
This adds the feature-test macro for PR0849R8, as per
https://github.com/cplusplus/CWG/issues/281.

gcc/c-family/ChangeLog:

* c-cppbuiltin.cc (c_cpp_builtins): Predefine __cpp_auto_cast
for C++23.

gcc/testsuite/ChangeLog:

* g++.dg/cpp23/feat-cxx2b.C: Test __cpp_auto_cast.

gcc/c-family/c-cppbuiltin.cc
gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C

index 98f5aef2af95d81eb353f12ab894158d793772af..5d64625fcd7a992dc7c407f9de765bec5bdd3adc 100644 (file)
@@ -1074,6 +1074,7 @@ c_cpp_builtins (cpp_reader *pfile)
          /* Set feature test macros for C++23.  */
          cpp_define (pfile, "__cpp_size_t_suffix=202011L");
          cpp_define (pfile, "__cpp_if_consteval=202106L");
+         cpp_define (pfile, "__cpp_auto_cast=202110L");
          cpp_define (pfile, "__cpp_constexpr=202211L");
          cpp_define (pfile, "__cpp_multidimensional_subscript=202211L");
          cpp_define (pfile, "__cpp_named_character_escapes=202207L");
index 6f4f6bcaad0dc0ea8ff85690fe0220c64db55fca..9e29b01adc132e03a29dbc37ca10d210fe48e7b7 100644 (file)
 #  error "__cpp_implicit_move != 202207"
 #endif
 
+#ifndef __cpp_auto_cast
+#  error "__cpp_auto_cast"
+#elif __cpp_auto_cast != 202110
+#  error "__cpp_auto_cast != 202110"
+#endif
+
 //  C++23 attributes:
 
 #ifdef __has_cpp_attribute