Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / SemaObjC / property-missing.m
blob18b9e491e4a1c30000117ec17aa9994fb5ce13f0
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
3 // PR3234
5 @protocol NSCopying @end
6 @interface NSObject @end
8 void f1(NSObject *o)
10   o.foo; // expected-error{{property 'foo' not found on object of type 'NSObject *'}}
13 void f2(id<NSCopying> o)
15   o.foo; // expected-error{{property 'foo' not found on object of type 'id<NSCopying>'}}
18 void f3(id o)
20   o.foo; // expected-error{{property 'foo' not found on object of type 'id'}}
23 @class SomeOtherClass; // expected-note {{forward declaration of class here}}
25 @interface MyClass {
26     SomeOtherClass *someOtherObject;
28 @end
30 void foo(MyClass *myObject) {
31         myObject.someOtherObject.someProperty = 0; // expected-error {{property 'someOtherObject' refers to an incomplete Objective-C class 'SomeOtherClass' (with no @interface available)}}