diff options
-rw-r--r-- | lib/Sema/SemaDeclAttr.cpp | 2 | ||||
-rw-r--r-- | test/SemaObjC/attr-availability.m | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/lib/Sema/SemaDeclAttr.cpp b/lib/Sema/SemaDeclAttr.cpp index 74a6bc5546..85f48ecff3 100644 --- a/lib/Sema/SemaDeclAttr.cpp +++ b/lib/Sema/SemaDeclAttr.cpp @@ -2057,7 +2057,7 @@ AvailabilityAttr *Sema::mergeAvailabilityAttr(NamedDecl *D, SourceRange Range, !versionsMatch(Deprecated, OldDeprecated, Override) || !versionsMatch(Obsoleted, OldObsoleted, Override) || !(OldIsUnavailable == IsUnavailable || - (Override && OldIsUnavailable && !IsUnavailable))) { + (Override && !OldIsUnavailable && IsUnavailable))) { if (Override) { int Which = -1; VersionTuple FirstVersion; diff --git a/test/SemaObjC/attr-availability.m b/test/SemaObjC/attr-availability.m index 0905733906..bf7ef19bea 100644 --- a/test/SemaObjC/attr-availability.m +++ b/test/SemaObjC/attr-availability.m @@ -11,8 +11,8 @@ - (void)overridden2 __attribute__((availability(macosx,introduced=10.3))); - (void)overridden3 __attribute__((availability(macosx,deprecated=10.3))); - (void)overridden4 __attribute__((availability(macosx,deprecated=10.3))); // expected-note{{overridden method is here}} -- (void)overridden5 __attribute__((availability(macosx,unavailable))); // expected-note{{overridden method is here}} -- (void)overridden6 __attribute__((availability(macosx,introduced=10.3))); +- (void)overridden5 __attribute__((availability(macosx,unavailable))); +- (void)overridden6 __attribute__((availability(macosx,introduced=10.3))); // expected-note{{overridden method is here}} @end // rdar://11475360 @@ -22,8 +22,8 @@ - (void)overridden2 __attribute__((availability(macosx,introduced=10.2))); - (void)overridden3 __attribute__((availability(macosx,deprecated=10.4))); - (void)overridden4 __attribute__((availability(macosx,deprecated=10.2))); // expected-warning{{overriding method deprecated before overridden method on OS X (10.3 vs. 10.2)}} -- (void)overridden5 __attribute__((availability(macosx,introduced=10.3))); // expected-warning{{overriding method cannot be unavailable on OS X when its overridden method is available}} -- (void)overridden6 __attribute__((availability(macosx,unavailable))); +- (void)overridden5 __attribute__((availability(macosx,introduced=10.3))); +- (void)overridden6 __attribute__((availability(macosx,unavailable))); // expected-warning{{overriding method cannot be unavailable on OS X when its overridden method is available}} @end void f(A *a, B *b) { |