aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2017-01-10 14:04:28 -0500
committerJason Merrill <jason@gcc.gnu.org>2017-01-10 14:04:28 -0500
commite363df3fd372a6423258cd9138e85a44a1ab224b (patch)
tree0c6c95635bc46197046b642d98d15a215c41b727
parent2af5cb50138bbbf597b143740f42d4e9d1c37816 (diff)
downloadgcc-e363df3fd372a6423258cd9138e85a44a1ab224b.zip
gcc-e363df3fd372a6423258cd9138e85a44a1ab224b.tar.gz
gcc-e363df3fd372a6423258cd9138e85a44a1ab224b.tar.bz2
* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
From-SVN: r244283
-rw-r--r--gcc/c-family/ChangeLog5
-rw-r--r--gcc/c-family/c-cppbuiltin.c1
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C6
3 files changed, 12 insertions, 0 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 968d483..a7f2f0d 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -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
diff --git a/gcc/c-family/c-cppbuiltin.c b/gcc/c-family/c-cppbuiltin.c
index 2115099..c114bbd 100644
--- a/gcc/c-family/c-cppbuiltin.c
+++ b/gcc/c-family/c-cppbuiltin.c
@@ -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");
diff --git a/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C b/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C
index f61b9f5..e424e1c 100644
--- a/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C
+++ b/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C
@@ -404,6 +404,12 @@
# 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)