r277378 - [ObjC Availability] Fix partial-availability false positive introduced in r277058

Erik Pilkington via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 1 13:19:49 PDT 2016


Author: epilk
Date: Mon Aug  1 15:19:49 2016
New Revision: 277378

URL: http://llvm.org/viewvc/llvm-project?rev=277378&view=rev
Log:
[ObjC Availability] Fix partial-availability false positive introduced in r277058

Thanks to Nico Weber for pointing this out!

Differential revision: https://reviews.llvm.org/D23024

Modified:
    cfe/trunk/lib/Sema/SemaDeclAttr.cpp
    cfe/trunk/test/SemaObjC/attr-availability.m

Modified: cfe/trunk/lib/Sema/SemaDeclAttr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclAttr.cpp?rev=277378&r1=277377&r2=277378&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaDeclAttr.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDeclAttr.cpp Mon Aug  1 15:19:49 2016
@@ -6505,5 +6505,5 @@ VersionTuple Sema::getVersionForDecl(con
         DeclVersion = AA->getIntroduced();
   }
 
-  return DeclVersion;
+  return std::max(DeclVersion, Context.getTargetInfo().getPlatformMinVersion());
 }

Modified: cfe/trunk/test/SemaObjC/attr-availability.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/attr-availability.m?rev=277378&r1=277377&r2=277378&view=diff
==============================================================================
--- cfe/trunk/test/SemaObjC/attr-availability.m (original)
+++ cfe/trunk/test/SemaObjC/attr-availability.m Mon Aug  1 15:19:49 2016
@@ -297,6 +297,7 @@ __attribute__((objc_root_class))
 
 #if defined(WARN_PARTIAL)
 
+int fn_10_5() __attribute__((availability(macosx, introduced=10.5)));
 int fn_10_7() __attribute__((availability(macosx, introduced=10.7))); // expected-note{{marked partial here}}
 int fn_10_8() __attribute__((availability(macosx, introduced=10.8))) { // expected-note{{marked partial here}}
   return fn_10_7();
@@ -324,4 +325,8 @@ __attribute__((availability(macosx, intr
 -(void)method4 { fn_10_8(); }
 @end
 
+int old_func() __attribute__((availability(macos, introduced=10.4))) {
+  fn_10_5();
+}
+
 #endif




More information about the cfe-commits mailing list