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