Inherit attributes when infering a framework module
If a module map contains
framework module * [extern_c] {}
We will now infer [extern_c] on the inferred framework modules (we
already inferred [system] as a special case).
llvm-svn: 225803
diff --git a/clang/test/Modules/Inputs/inferred-attr/InferredExternC.framework/Headers/InferredExternC.h b/clang/test/Modules/Inputs/inferred-attr/InferredExternC.framework/Headers/InferredExternC.h
new file mode 100644
index 0000000..63242fa
--- /dev/null
+++ b/clang/test/Modules/Inputs/inferred-attr/InferredExternC.framework/Headers/InferredExternC.h
@@ -0,0 +1 @@
+// InferredExternC.h
diff --git a/clang/test/Modules/Inputs/inferred-attr/module.modulemap b/clang/test/Modules/Inputs/inferred-attr/module.modulemap
new file mode 100644
index 0000000..beb6ea1
--- /dev/null
+++ b/clang/test/Modules/Inputs/inferred-attr/module.modulemap
@@ -0,0 +1 @@
+framework module * [extern_c] { }
diff --git a/clang/test/Modules/inferred-attributes.mm b/clang/test/Modules/inferred-attributes.mm
new file mode 100644
index 0000000..5fc1d62
--- /dev/null
+++ b/clang/test/Modules/inferred-attributes.mm
@@ -0,0 +1,6 @@
+// RUN: rm -rf %t
+// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -F %S/Inputs/inferred-attr -fsyntax-only -verify %s
+// expected-no-diagnostics
+extern "C" {
+@import InferredExternC;
+}