[modules] Fix a few places where merging wasn't performed if modules was disabled but local module visibilty was enabled.

llvm-svn: 239504
diff --git a/clang/test/Modules/Inputs/submodules-merge-defs/defs.h b/clang/test/Modules/Inputs/submodules-merge-defs/defs.h
index 68b57a4..d65e93b 100644
--- a/clang/test/Modules/Inputs/submodules-merge-defs/defs.h
+++ b/clang/test/Modules/Inputs/submodules-merge-defs/defs.h
@@ -46,3 +46,11 @@
 
 template<typename T = int, int N = 3, template<typename> class K = F> int H(int a = 1);
 template<typename T = int, int N = 3, template<typename> class K = F> using I = decltype(H<T, N, K>());
+
+namespace NS {
+  struct A {};
+  template<typename T> struct B {};
+  template<typename T> struct B<T*> {};
+  template<> struct B<int> {};
+  inline void f() {}
+}
diff --git a/clang/test/Modules/Inputs/submodules-merge-defs/indirect.h b/clang/test/Modules/Inputs/submodules-merge-defs/indirect.h
new file mode 100644
index 0000000..28baa01
--- /dev/null
+++ b/clang/test/Modules/Inputs/submodules-merge-defs/indirect.h
@@ -0,0 +1 @@
+#include "merged-defs.h"
diff --git a/clang/test/Modules/Inputs/submodules-merge-defs/module.modulemap b/clang/test/Modules/Inputs/submodules-merge-defs/module.modulemap
index 82abdb0..f8ae60f 100644
--- a/clang/test/Modules/Inputs/submodules-merge-defs/module.modulemap
+++ b/clang/test/Modules/Inputs/submodules-merge-defs/module.modulemap
@@ -14,3 +14,8 @@
   header "merged-defs.h"
   use "stuff"
 }
+
+module "indirect" {
+  header "indirect.h"
+  use "merged-defs"
+}