From: Erik Pilkington Date: Wed, 20 Mar 2019 19:26:37 +0000 (+0000) Subject: Add a __has_extension check for '#pragma clang attribute' as an external-declaration X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4af5ac01fa9f9cb12edfccbbd45a0043461696b0;p=clang Add a __has_extension check for '#pragma clang attribute' as an external-declaration This was added in r356075. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@356600 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Basic/Features.def b/include/clang/Basic/Features.def index b171365efc..c97cbc59bc 100644 --- a/include/clang/Basic/Features.def +++ b/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/test/Parser/pragma-attribute-context.cpp b/test/Parser/pragma-attribute-context.cpp index 3ec5a67f4c..d893f18335 100644 --- a/test/Parser/pragma-attribute-context.cpp +++ b/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")