diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/Modules/Inputs/module.map | 6 | ||||
-rw-r--r-- | clang/test/Modules/Inputs/recursive1.h | 1 | ||||
-rw-r--r-- | clang/test/Modules/Inputs/recursive2.h | 1 | ||||
-rw-r--r-- | clang/test/Modules/recursive.c | 11 | ||||
-rw-r--r-- | clang/test/Modules/submodules.cpp | 4 |
5 files changed, 20 insertions, 3 deletions
diff --git a/clang/test/Modules/Inputs/module.map b/clang/test/Modules/Inputs/module.map index 362a175f607..67b3a5a0ebe 100644 --- a/clang/test/Modules/Inputs/module.map +++ b/clang/test/Modules/Inputs/module.map @@ -290,3 +290,9 @@ module recursive_visibility_b { module recursive_visibility_c { header "recursive_visibility_c.h" } +module recursive1 { + header "recursive1.h" +} +module recursive2 { + header "recursive2.h" +} diff --git a/clang/test/Modules/Inputs/recursive1.h b/clang/test/Modules/Inputs/recursive1.h new file mode 100644 index 00000000000..8cb59173972 --- /dev/null +++ b/clang/test/Modules/Inputs/recursive1.h @@ -0,0 +1 @@ +#include "recursive2.h" diff --git a/clang/test/Modules/Inputs/recursive2.h b/clang/test/Modules/Inputs/recursive2.h new file mode 100644 index 00000000000..d9480aa1e14 --- /dev/null +++ b/clang/test/Modules/Inputs/recursive2.h @@ -0,0 +1 @@ +#include "recursive1.h" diff --git a/clang/test/Modules/recursive.c b/clang/test/Modules/recursive.c new file mode 100644 index 00000000000..668ba38dffa --- /dev/null +++ b/clang/test/Modules/recursive.c @@ -0,0 +1,11 @@ +// RUN: rm -rf %t +// RUN: not %clang_cc1 -fmodules -x objective-c -fmodules-cache-path=%t -I %S/Inputs %s 2>&1 | FileCheck %s +#include "recursive1.h" + +// FIXME: rm -rf %t +// FIXME: not %clang_cc1 -fmodules -x objective-c -fmodules-cache-path=%t -emit-module -fmodule-name=recursive1 %S/Inputs/module.map 2>&1 | FileCheck %s + +// CHECK: While building module 'recursive1'{{( imported from .*/recursive.c:3)?}}: +// CHECK-NEXT: While building module 'recursive2' imported from {{.*}}Inputs/recursive1.h:1: +// CHECK-NEXT: In file included from <module-includes>:1: +// CHECK-NEXT: recursive2.h:1:10: fatal error: cyclic dependency in module 'recursive1': recursive1 -> recursive2 -> recursive1 diff --git a/clang/test/Modules/submodules.cpp b/clang/test/Modules/submodules.cpp index 12bf87f6307..a18138c7099 100644 --- a/clang/test/Modules/submodules.cpp +++ b/clang/test/Modules/submodules.cpp @@ -31,9 +31,7 @@ hash_map<int, float> ints_to_floats2; extern MyTypeA import_self_test_a; // expected-error {{must be imported from module 'import_self.a'}} // expected-note@import-self-a.h:1 {{here}} extern MyTypeC import_self_test_c; -// FIXME: This should be valid; import_self.b re-exports import_self.d. -extern MyTypeD import_self_test_d; // expected-error {{must be imported from module 'import_self.d'}} -// expected-note@import-self-d.h:1 {{here}} +extern MyTypeD import_self_test_d; // expected-error@Inputs/submodules/module.map:15{{header 'missing.h' not found}} @import missing_headers.missing; |