]> granicus.if.org Git - clang/commitdiff
Add a __has_feature check for the 'availability' attribute
authorDouglas Gregor <dgregor@apple.com>
Sat, 26 Mar 2011 12:16:15 +0000 (12:16 +0000)
committerDouglas Gregor <dgregor@apple.com>
Sat, 26 Mar 2011 12:16:15 +0000 (12:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128337 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Lex/PPMacroExpansion.cpp
test/Parser/attr-availability.c

index e1fc0ba88fcd46b85520ad359f975ff8d5475e70..71f332769e7a0030a8549fbebabcc6baf6dee7fc 100644 (file)
@@ -530,6 +530,7 @@ static bool HasFeature(const Preprocessor &PP, const IdentifierInfo *II) {
 
   return llvm::StringSwitch<bool>(II->getName())
            .Case("attribute_analyzer_noreturn", true)
+           .Case("attribute_availability", true)
            .Case("attribute_cf_returns_not_retained", true)
            .Case("attribute_cf_returns_retained", true)
            .Case("attribute_deprecated_with_message", true)
index 63bb5271e5352936a40370baec3fb31b116227d7..269f90847d6601adab868385e6e14a6f48ed6249 100644 (file)
@@ -1,4 +1,9 @@
 // RUN: %clang_cc1 -fsyntax-only -verify %s
+
+#if !__has_feature(attribute_availability)
+#  error 'availability' attribute is not available
+#endif
+
 void f0() __attribute__((availability(macosx,introduced=10.2,deprecated=10.4,obsoleted=10.6)));
 
 void f1() __attribute__((availability(macosx,deprecated=10.4,introduced=10.2,obsoleted=10.6)));