diff options
Diffstat (limited to 'clang/test/Modules/decldef.mm')
-rw-r--r-- | clang/test/Modules/decldef.mm | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/clang/test/Modules/decldef.mm b/clang/test/Modules/decldef.mm new file mode 100644 index 0000000..64a66d5 --- /dev/null +++ b/clang/test/Modules/decldef.mm @@ -0,0 +1,28 @@ +// RUN: rm -rf %t +// RUN: %clang_cc1 -fmodules -I %S/Inputs -fmodule-cache-path %t %s -verify + + +// in other file: expected-note{{previous definition is here}} + + + + + +// in other file: expected-note{{previous definition is here}} + +@__experimental_modules_import decldef; +A *a1; // expected-error{{unknown type name 'A'}} +B *b1; // expected-error{{unknown type name 'B'}} +@__experimental_modules_import decldef.Decl; + +A *a2; +B *b; + +void testA(A *a) { + a->ivar = 17; // expected-error{{definition of 'A' must be imported before it is required}} +} + +void testB() { + B b; // expected-error{{definition of 'B' must be imported before it is required}} + B b2; // Note: the reundant error was silenced. +} |