blob: 6a33b98b366b68295c17e43d19dd3cd1d5eaf4ad [file] [log] [blame]
Fariborz Jahanian243b64b2007-10-11 23:42:27 +00001// RUN: clang -fsyntax-only -verify %s
2
3@compatibility_alias alias4 foo; // expected-warning {{cannot find interface declaration for 'foo'}}
4
Chris Lattner5f4a6822008-11-23 23:12:31 +00005@class class2; // expected-note {{previous declaration is here}}
Fariborz Jahanian243b64b2007-10-11 23:42:27 +00006@class class3;
7
Chris Lattner8b265bd2008-11-23 23:20:13 +00008typedef int I; // expected-note {{previous declaration is here}}
Fariborz Jahanian243b64b2007-10-11 23:42:27 +00009
10@compatibility_alias alias1 I; // expected-warning {{cannot find interface declaration for 'I'}}
11
Steve Naroffe8043c32008-04-01 23:04:06 +000012@compatibility_alias alias class2;
13@compatibility_alias alias class3; // expected-error {{conflicting types for alias 'alias'}}
Fariborz Jahanian243b64b2007-10-11 23:42:27 +000014
15
Chris Lattner5f4a6822008-11-23 23:12:31 +000016typedef int alias2; // expected-note {{previous declaration is here}}
Steve Naroffe8043c32008-04-01 23:04:06 +000017@compatibility_alias alias2 class3; // expected-error {{conflicting types for alias 'alias2'}}
Fariborz Jahanian243b64b2007-10-11 23:42:27 +000018
19alias *p;
20class2 *p2;
21
22int foo ()
23{
24
25 if (p == p2) {
26 int alias = 1;
27 }
28
29 alias *p3;
30 return p3 == p2;
31}