1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -fsyntax-only -verify %s
2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoclass C { };
3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei LiaoC c;
5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid D(int);
7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoclass D {};
9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid foo()
11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao{
12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  D(5);
13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  class D d;
14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoclass D; // expected-note {{previous use is here}}
17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoenum D; // expected-error {{use of 'D' with tag type that does not match previous declaration}}
19ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
20ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoclass A * A;
21ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
22ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoclass A * a2;
23ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
24ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid bar()
25ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao{
26ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  A = 0;
27ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
28ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
29ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid C(int);
30ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
31ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid bar2()
32ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao{
33ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  C(17);
34ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
35ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
36ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoextern int B;
37ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoclass B;
38ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoclass B {};
39ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint B;
40ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
41ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoenum E { e1_val };
42ea285162342df160e7860e26528bc7110bc6c0cdShih-wei LiaoE e1;
43ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
44ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid E(int);
45ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
46ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid bar3() {
47ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  E(17);
48ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
49ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
50ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoenum E e2;
51ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
52ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoenum E2 { E2 };
53