diff options
author | dim <dim@FreeBSD.org> | 2013-04-08 18:45:10 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2013-04-08 18:45:10 +0000 |
commit | c72c57c9e9b69944e3e009cd5e209634839581d3 (patch) | |
tree | 4fc2f184c499d106f29a386c452b49e5197bf63d /test/Modules/decldef.mm | |
parent | 5b20025c30d23d521e12c1f33ec8fa6b821952cd (diff) | |
download | FreeBSD-src-c72c57c9e9b69944e3e009cd5e209634839581d3.zip FreeBSD-src-c72c57c9e9b69944e3e009cd5e209634839581d3.tar.gz |
Vendor import of clang trunk r178860:
http://llvm.org/svn/llvm-project/cfe/trunk@178860
Diffstat (limited to 'test/Modules/decldef.mm')
-rw-r--r-- | test/Modules/decldef.mm | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/test/Modules/decldef.mm b/test/Modules/decldef.mm index 64a66d5..732c2a2 100644 --- a/test/Modules/decldef.mm +++ b/test/Modules/decldef.mm @@ -1,28 +1,38 @@ // RUN: rm -rf %t -// RUN: %clang_cc1 -fmodules -I %S/Inputs -fmodule-cache-path %t %s -verify +// RUN: %clang_cc1 -fmodules -fobjc-arc -I %S/Inputs -fmodules-cache-path=%t %s -verify -// in other file: expected-note{{previous definition is here}} +// In other file: expected-note {{previous definition is here}} +@class Def; +Def *def; +class Def2; +Def2 *def2; +@interface Unrelated +- defMethod; +@end - - -// in other file: expected-note{{previous definition is here}} - -@__experimental_modules_import decldef; +@import decldef; A *a1; // expected-error{{unknown type name 'A'}} B *b1; // expected-error{{unknown type name 'B'}} -@__experimental_modules_import decldef.Decl; +@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}} + a->ivar = 17; // expected-error{{definition of 'A' must be imported from module 'decldef.Def' 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. + B b; // Note: redundant error silenced +} + +void testDef() { + [def defMethod]; +} + +void testDef2() { + def2->func(); } |