1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -verify %s 2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S { 4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao typedef struct A {} A; // expected-note {{previous definition is here}} 5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao typedef struct B B; 6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao typedef A A; // expected-error {{redefinition of 'A'}} 7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao struct C { }; 9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao typedef struct C OtherC; 10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao typedef OtherC C; 11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao typedef struct D { } D2; 13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao typedef D2 D; 14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}; 15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 16