mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-30 17:21:10 +00:00
ccf25bbf3f
We continue accepting "macosx" but canonicalize it to "macos", When emitting diagnostics, we use "macOS" instead of "OS X". The PlatformName in TargetInfo is changed from "macosx" to "macos" so we can directly compare the Platform in AvailabilityAttr with the PlatformName in TargetInfo. rdar://26795172 rdar://26800775 llvm-svn: 274064
34 lines
1.5 KiB
Objective-C
34 lines
1.5 KiB
Objective-C
// RUN: %clang_cc1 -triple x86_64-apple-macosx10.8.0 -fsyntax-only -verify %s
|
|
|
|
// This test case shows that 'availability' and 'deprecated' do not inherit
|
|
// when a property is redeclared in a subclass. This is intentional.
|
|
|
|
@interface NSObject @end
|
|
@protocol myProtocol
|
|
@property int myProtocolProperty __attribute__((availability(macosx,introduced=10.7,deprecated=10.8))); // expected-note {{'myProtocolProperty' has been explicitly marked deprecated here}} \
|
|
// expected-note {{property 'myProtocolProperty' is declared deprecated here}}
|
|
@end
|
|
|
|
@interface Foo : NSObject
|
|
@property int myProperty __attribute__((availability(macosx,introduced=10.7,deprecated=10.8))); // expected-note 2 {{'myProperty' has been explicitly marked deprecated here}} \
|
|
// expected-note {{property 'myProperty' is declared deprecated here}}
|
|
@end
|
|
|
|
@interface Bar : Foo <myProtocol>
|
|
@property int myProperty;
|
|
@property int myProtocolProperty;
|
|
@end
|
|
|
|
void test(Foo *y, Bar *x, id<myProtocol> z) {
|
|
y.myProperty = 0; // expected-warning {{'myProperty' is deprecated: first deprecated in macOS 10.8}}
|
|
(void)[y myProperty]; // expected-warning {{'myProperty' is deprecated: first deprecated in macOS 10.8}}
|
|
|
|
x.myProperty = 1; // no-warning
|
|
(void)[x myProperty]; // no-warning
|
|
|
|
x.myProtocolProperty = 0; // no-warning
|
|
|
|
(void)[x myProtocolProperty]; // no-warning
|
|
(void)[z myProtocolProperty]; // expected-warning {{'myProtocolProperty' is deprecated: first deprecated in macOS 10.8}}
|
|
}
|