diff options
-rw-r--r-- | clang/test/Modules/Inputs/rec-types/a.h | 2 | ||||
-rw-r--r-- | clang/test/Modules/Inputs/rec-types/b.h | 2 | ||||
-rw-r--r-- | clang/test/Modules/Inputs/rec-types/c.h | 7 | ||||
-rw-r--r-- | clang/test/Modules/Inputs/rec-types/module.modulemap | 9 | ||||
-rw-r--r-- | clang/test/Modules/structural-equivalent-recursive-types.c | 7 |
5 files changed, 27 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/rec-types/a.h b/clang/test/Modules/Inputs/rec-types/a.h new file mode 100644 index 00000000000..8e88ea7c504 --- /dev/null +++ b/clang/test/Modules/Inputs/rec-types/a.h @@ -0,0 +1,2 @@ +// rec-types/a.h +#include "b.h" diff --git a/clang/test/Modules/Inputs/rec-types/b.h b/clang/test/Modules/Inputs/rec-types/b.h new file mode 100644 index 00000000000..05bbd99dd58 --- /dev/null +++ b/clang/test/Modules/Inputs/rec-types/b.h @@ -0,0 +1,2 @@ +// rec-types/b.h +#include "c.h" diff --git a/clang/test/Modules/Inputs/rec-types/c.h b/clang/test/Modules/Inputs/rec-types/c.h new file mode 100644 index 00000000000..fd2eb5a259b --- /dev/null +++ b/clang/test/Modules/Inputs/rec-types/c.h @@ -0,0 +1,7 @@ +struct some_descriptor +{ + // commenting line above make this struct work + void *(*thunk)(struct some_descriptor *); + unsigned long key; +}; + diff --git a/clang/test/Modules/Inputs/rec-types/module.modulemap b/clang/test/Modules/Inputs/rec-types/module.modulemap new file mode 100644 index 00000000000..680ed71ac9f --- /dev/null +++ b/clang/test/Modules/Inputs/rec-types/module.modulemap @@ -0,0 +1,9 @@ +module a { + header "a.h" + // Hide content by not re-exporting module b. +} + +module b { + header "b.h" + export * +} diff --git a/clang/test/Modules/structural-equivalent-recursive-types.c b/clang/test/Modules/structural-equivalent-recursive-types.c new file mode 100644 index 00000000000..bb3ec7b499b --- /dev/null +++ b/clang/test/Modules/structural-equivalent-recursive-types.c @@ -0,0 +1,7 @@ +// RUN: rm -rf %t +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -I%S/Inputs/rec-types -fsyntax-only %s -verify +#include "a.h" +#include "c.h" +void foo(struct some_descriptor *st) { (void)st->thunk; } + +// expected-no-diagnostics |