[modules] Handle defining a tag with a typedef name for linkage purposes on top of an existing imported-but-not-visible definition.

llvm-svn: 233345
diff --git a/clang/test/Modules/submodules-merge-defs.cpp b/clang/test/Modules/submodules-merge-defs.cpp
index 9b5b13d..cdda48e 100644
--- a/clang/test/Modules/submodules-merge-defs.cpp
+++ b/clang/test/Modules/submodules-merge-defs.cpp
@@ -18,6 +18,10 @@
 C2 pre_c2; // expected-error +{{must be imported}} expected-error {{must use 'struct'}}
 // expected-note@defs.h:16 +{{here}}
 
+D::X pre_dx; // expected-error +{{must be imported}}
+// expected-note@defs.h:18 +{{here}}
+// expected-note@defs.h:19 +{{here}}
+
 // Make definitions from second module visible.
 #include "import-and-redefine.h"
 
@@ -26,3 +30,4 @@
 C_Base<1> post_cb1;
 C1 c1;
 C2 c2;
+D::X post_dx;