* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
authorJason Merrill <jason@redhat.com>
Tue, 10 Jan 2017 19:04:28 +0000 (14:04 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 10 Jan 2017 19:04:28 +0000 (14:04 -0500)
From-SVN: r244283

gcc/c-family/ChangeLog
gcc/c-family/c-cppbuiltin.c
gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C

index 968d48398344a41e87e74664d27ae68374d9dc95..a7f2f0d6eb1753066c729e2e740d9bae3eb83009 100644 (file)
@@ -1,3 +1,8 @@
+2017-01-10  Jason Merrill  <jason@redhat.com>
+
+       Implement P0195R2, C++17 variadic using.
+       * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
+
 2017-01-09  Jakub Jelinek  <jakub@redhat.com>
 
        PR translation/79019
index 2115099a55616e1c2efd01e86275a72be82551e9..c114bbd6d88614fd420ed07dcb56449d367d8cf8 100644 (file)
@@ -970,6 +970,7 @@ c_cpp_builtins (cpp_reader *pfile)
          cpp_define (pfile, "__cpp_noexcept_function_type=201510");
          cpp_define (pfile, "__cpp_template_auto=201606");
          cpp_define (pfile, "__cpp_structured_bindings=201606");
+         cpp_define (pfile, "__cpp_variadic_using=201611");
        }
       if (flag_concepts)
        cpp_define (pfile, "__cpp_concepts=201507");
index f61b9f5db5ff0aa2a649a7e0b209f978ad5d1508..e424e1c0ff01a2abe59033efe95029eaad1e27e4 100644 (file)
 #  error "__cpp_template_template_args != 201611"
 #endif
 
+#ifndef __cpp_variadic_using
+#  error "__cpp_variadic_using"
+#elif __cpp_variadic_using != 201611
+#  error "__cpp_variadic_using != 201611"
+#endif
+
 #ifdef __has_cpp_attribute
 
 #  if ! __has_cpp_attribute(maybe_unused)