[modules] Add a regression test for merging anon decls in extern C contexts.
authorVassil Vassilev <v.g.vassilev@gmail.com>
Tue, 24 Oct 2017 14:52:35 +0000 (14:52 +0000)
committerVassil Vassilev <v.g.vassilev@gmail.com>
Tue, 24 Oct 2017 14:52:35 +0000 (14:52 +0000)
llvm-svn: 316444

clang/test/Modules/merge-anon-in-extern_c.cpp [new file with mode: 0644]

diff --git a/clang/test/Modules/merge-anon-in-extern_c.cpp b/clang/test/Modules/merge-anon-in-extern_c.cpp
new file mode 100644 (file)
index 0000000..1443251
--- /dev/null
@@ -0,0 +1,19 @@
+// RUN: rm -rf %t
+// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -verify %s
+// expected-no-diagnostics
+
+#pragma clang module build sys_types
+module sys_types {}
+#pragma clang module contents
+#pragma clang module begin sys_types
+extern "C" {
+  typedef union { bool b; } pthread_mutex_t;
+}
+#pragma clang module end
+#pragma clang module endbuild
+
+typedef union { bool b; } pthread_mutex_t;
+#pragma clang module import sys_types
+
+const pthread_mutex_t *m;
+