aboutsummaryrefslogtreecommitdiff
path: root/test/Modules/merge-anon-in-extern_c.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/Modules/merge-anon-in-extern_c.cpp')
-rw-r--r--test/Modules/merge-anon-in-extern_c.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/Modules/merge-anon-in-extern_c.cpp b/test/Modules/merge-anon-in-extern_c.cpp
new file mode 100644
index 000000000000..1443251f7e61
--- /dev/null
+++ b/test/Modules/merge-anon-in-extern_c.cpp
@@ -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;
+