summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2015-05-12 22:37:23 +0000
committerEric Fiselier <eric@efcs.ca>2015-05-12 22:37:23 +0000
commit7aa0d4aac3b43a193cc3428bef40ab328adaf7ac (patch)
tree05d48aa42cc157c032d51a39b74bd8bef1620d9d
parent2833966a3c91fc354115b28de4aaaae56674c155 (diff)
downloadbcm5719-llvm-7aa0d4aac3b43a193cc3428bef40ab328adaf7ac.tar.gz
bcm5719-llvm-7aa0d4aac3b43a193cc3428bef40ab328adaf7ac.zip
Have '__have_extension(cxx_variadic_templates)' return true for any C++ standard.
llvm-svn: 237202
-rw-r--r--clang/lib/Lex/PPMacroExpansion.cpp1
-rw-r--r--clang/test/Lexer/has_extension_cxx.cpp5
2 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Lex/PPMacroExpansion.cpp b/clang/lib/Lex/PPMacroExpansion.cpp
index 87a07a43d08..7121578c8fb 100644
--- a/clang/lib/Lex/PPMacroExpansion.cpp
+++ b/clang/lib/Lex/PPMacroExpansion.cpp
@@ -1237,6 +1237,7 @@ static bool HasExtension(const Preprocessor &PP, const IdentifierInfo *II) {
.Case("cxx_range_for", LangOpts.CPlusPlus)
.Case("cxx_reference_qualified_functions", LangOpts.CPlusPlus)
.Case("cxx_rvalue_references", LangOpts.CPlusPlus)
+ .Case("cxx_variadic_templates", LangOpts.CPlusPlus)
// C++1y features supported by other languages as extensions.
.Case("cxx_binary_literals", true)
.Case("cxx_init_captures", LangOpts.CPlusPlus11)
diff --git a/clang/test/Lexer/has_extension_cxx.cpp b/clang/test/Lexer/has_extension_cxx.cpp
index d3483df94c5..d1267eaf85d 100644
--- a/clang/test/Lexer/has_extension_cxx.cpp
+++ b/clang/test/Lexer/has_extension_cxx.cpp
@@ -41,6 +41,11 @@ int has_reference_qualified_functions();
int has_rvalue_references();
#endif
+// CHECK: has_variadic_templates
+#if __has_extension(cxx_variadic_templates)
+int has_variadic_templates();
+#endif
+
// CHECK: has_local_type_template_args
#if __has_extension(cxx_local_type_template_args)
int has_local_type_template_args();
OpenPOWER on IntegriCloud