From 222e2a7620e6520ffaf4fc4e69d79c18da31542e Mon Sep 17 00:00:00 2001 From: "Zancanaro; Carlo" Date: Mon, 24 Sep 2012 09:58:17 +1000 Subject: Add the clang library to the repo (with some of my changes, too). --- clang/test/SemaObjC/protocol-attribute.m | 49 ++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 clang/test/SemaObjC/protocol-attribute.m (limited to 'clang/test/SemaObjC/protocol-attribute.m') diff --git a/clang/test/SemaObjC/protocol-attribute.m b/clang/test/SemaObjC/protocol-attribute.m new file mode 100644 index 0000000..178774c --- /dev/null +++ b/clang/test/SemaObjC/protocol-attribute.m @@ -0,0 +1,49 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s + +__attribute ((unavailable)) +@protocol FwProto; // expected-note{{marked unavailable}} + +Class cFw = 0; // expected-error {{'FwProto' is unavailable}} + + +__attribute ((deprecated)) @protocol MyProto1 +@end + +@protocol Proto2 // expected-warning {{'MyProto1' is deprecated}} ++method2; +@end + + +@interface MyClass1 // expected-warning {{'MyProto1' is deprecated}} +{ + Class isa; +} +@end + +@interface Derived : MyClass1 // expected-warning {{'MyProto1' is deprecated}} +{ + id ivar; // expected-warning {{'MyProto1' is deprecated}} +} +@end + +@interface MyClass1 (Category) // expected-warning {{'MyProto1' is deprecated}} +@end + + + +Class clsP1 = 0; // expected-warning {{'MyProto1' is deprecated}} + +@protocol FwProto @end // expected-note{{marked unavailable}} + +@interface MyClass2 // expected-error {{'FwProto' is unavailable}} +@end + +__attribute ((unavailable)) __attribute ((deprecated)) @protocol XProto; // expected-note{{marked unavailable}} + +id idX = 0; // expected-error {{'XProto' is unavailable}} + +int main () +{ + MyClass1 *p1; // expected-warning {{'MyProto1' is deprecated}} +} + -- cgit v1.2.3