Home | History | Annotate | Download | only in Modules
      1 // RUN: rm -rf %t
      2 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -I %S/Inputs %s -verify
      3 
      4 @import ElaboratedTypeStructs.Empty; // The structs are now hidden.
      5 struct S1 *x;
      6 struct S2 *y;
      7 // FIXME: compatible definition should not be an error.
      8 struct S2 { int x; }; // expected-error {{redefinition}}
      9 struct S3 *z;
     10 // Incompatible definition.
     11 struct S3 { float y; }; // expected-error {{redefinition}}
     12 // expected-note (a] elaborated-type-structs.h:* 2 {{previous definition is here}}
     13 
     14 @import ElaboratedTypeStructs.Structs;
     15 
     16 void useS1(struct S1 *x);
     17 void useS2(struct S2 *x);
     18 void useS2(struct S2 *x);
     19