summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErik Pilkington <erik.pilkington@gmail.com>2019-03-20 19:26:37 +0000
committerErik Pilkington <erik.pilkington@gmail.com>2019-03-20 19:26:37 +0000
commit8ca6ab33b7d2bd10e885124405d6f26406256b9b (patch)
tree1e47a3e63cb8e893af851dc9322b365bff7d2a7f
parent13ee62f7d7eed3303f13374b25b8e51d38b2951b (diff)
downloadbcm5719-llvm-8ca6ab33b7d2bd10e885124405d6f26406256b9b.tar.gz
bcm5719-llvm-8ca6ab33b7d2bd10e885124405d6f26406256b9b.zip
Add a __has_extension check for '#pragma clang attribute' as an external-declaration
This was added in r356075. llvm-svn: 356600
-rw-r--r--clang/include/clang/Basic/Features.def1
-rw-r--r--clang/test/Parser/pragma-attribute-context.cpp4
2 files changed, 5 insertions, 0 deletions
diff --git a/clang/include/clang/Basic/Features.def b/clang/include/clang/Basic/Features.def
index b171365efce..c97cbc59bc6 100644
--- a/clang/include/clang/Basic/Features.def
+++ b/clang/include/clang/Basic/Features.def
@@ -247,6 +247,7 @@ EXTENSION(cxx_variable_templates, LangOpts.CPlusPlus)
// Miscellaneous language extensions
EXTENSION(overloadable_unmarked, true)
EXTENSION(pragma_clang_attribute_namespaces, true)
+EXTENSION(pragma_clang_attribute_external_declaration, true)
#undef EXTENSION
#undef FEATURE
diff --git a/clang/test/Parser/pragma-attribute-context.cpp b/clang/test/Parser/pragma-attribute-context.cpp
index 3ec5a67f4c3..d893f18335e 100644
--- a/clang/test/Parser/pragma-attribute-context.cpp
+++ b/clang/test/Parser/pragma-attribute-context.cpp
@@ -1,6 +1,10 @@
// RUN: %clang_cc1 -triple x86_64-apple-darwin9.0.0 -verify -std=c++11 %s
// RUN: %clang_cc1 -triple x86_64-apple-darwin9.0.0 -xobjective-c++ -verify -std=c++11 %s
+#if !__has_extension(pragma_clang_attribute_external_declaration)
+#error
+#endif
+
#define BEGIN_PRAGMA _Pragma("clang attribute push (__attribute__((availability(macos, introduced=1000))), apply_to=function)")
#define END_PRAGMA _Pragma("clang attribute pop")
OpenPOWER on IntegriCloud