r242480 - Add __has_feature(attribute_availability_with_version_underscores).

Jordan Rose jordan_rose at apple.com
Thu Jul 16 15:30:10 PDT 2015


Author: jrose
Date: Thu Jul 16 17:30:10 2015
New Revision: 242480

URL: http://llvm.org/viewvc/llvm-project?rev=242480&view=rev
Log:
Add __has_feature(attribute_availability_with_version_underscores).

This goes with r218884 from, um, last autumn.

rdar://problem/21754114

Modified:
    cfe/trunk/lib/Lex/PPMacroExpansion.cpp
    cfe/trunk/test/SemaObjC/attr-availability-1.m

Modified: cfe/trunk/lib/Lex/PPMacroExpansion.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/PPMacroExpansion.cpp?rev=242480&r1=242479&r2=242480&view=diff
==============================================================================
--- cfe/trunk/lib/Lex/PPMacroExpansion.cpp (original)
+++ cfe/trunk/lib/Lex/PPMacroExpansion.cpp Thu Jul 16 17:30:10 2015
@@ -1057,6 +1057,7 @@ static bool HasFeature(const Preprocesso
       .Case("attribute_availability", true)
       .Case("attribute_availability_with_message", true)
       .Case("attribute_availability_app_extension", true)
+      .Case("attribute_availability_with_version_underscores", true)
       .Case("attribute_cf_returns_not_retained", true)
       .Case("attribute_cf_returns_retained", true)
       .Case("attribute_cf_returns_on_parameters", true)

Modified: cfe/trunk/test/SemaObjC/attr-availability-1.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/attr-availability-1.m?rev=242480&r1=242479&r2=242480&view=diff
==============================================================================
--- cfe/trunk/test/SemaObjC/attr-availability-1.m (original)
+++ cfe/trunk/test/SemaObjC/attr-availability-1.m Thu Jul 16 17:30:10 2015
@@ -3,6 +3,10 @@
 // RUN: %clang_cc1 -x objective-c++ -std=c++03 -triple x86_64-apple-darwin9.0.0 -fsyntax-only -verify %s
 // rdar://18490958
 
+#if !__has_feature(attribute_availability_with_version_underscores)
+# error "missing feature"
+#endif
+
 @protocol P
 - (void)proto_method __attribute__((availability(macosx,introduced=10_1,deprecated=10_2))); // expected-note 2 {{'proto_method' has been explicitly marked deprecated here}}
 @end





More information about the cfe-commits mailing list