xref: /aosp_15_r20/external/clang/test/SemaObjC/alias-test-1.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify %s
2*67e74705SXin Li
3*67e74705SXin Li@compatibility_alias alias4 foo; // expected-warning {{cannot find interface declaration for 'foo'}}
4*67e74705SXin Li
5*67e74705SXin Li@class class2; // expected-note {{previous declaration is here}}
6*67e74705SXin Li@class class3;
7*67e74705SXin Li
8*67e74705SXin Litypedef int I;  // expected-note {{previous declaration is here}}
9*67e74705SXin Li
10*67e74705SXin Li@compatibility_alias alias1 I;  // expected-warning {{cannot find interface declaration for 'I'}}
11*67e74705SXin Li
12*67e74705SXin Li@compatibility_alias alias class2;
13*67e74705SXin Li@compatibility_alias alias class3;   // expected-error {{conflicting types for alias 'alias'}}
14*67e74705SXin Li
15*67e74705SXin Li
16*67e74705SXin Litypedef int alias2;	// expected-note {{previous declaration is here}}
17*67e74705SXin Li@compatibility_alias alias2 class3;  // expected-error {{conflicting types for alias 'alias2'}}
18*67e74705SXin Li
19*67e74705SXin Lialias *p;
20*67e74705SXin Liclass2 *p2;
21*67e74705SXin Li
22*67e74705SXin Liint foo ()
23*67e74705SXin Li{
24*67e74705SXin Li
25*67e74705SXin Li	if (p == p2) {
26*67e74705SXin Li	  int alias = 1;
27*67e74705SXin Li	}
28*67e74705SXin Li
29*67e74705SXin Li	alias *p3;
30*67e74705SXin Li	return p3 == p2;
31*67e74705SXin Li}
32