Module debug info: Don't assert when encountering an incomplete definition
in isDefinedInClangModule() and assume that the incomplete definition
is not defined in the module.
This broke the -gmodules self host recently.
rdar://problem/27894367
llvm-svn: 279485
diff --git a/clang/test/Modules/Inputs/DebugNestedA.h b/clang/test/Modules/Inputs/DebugNestedA.h
new file mode 100644
index 0000000..58dc2a7
--- /dev/null
+++ b/clang/test/Modules/Inputs/DebugNestedA.h
@@ -0,0 +1,8 @@
+/* -*- C++ -*- */
+template <typename T> class Base {};
+template <typename T> struct A : public Base<A<T>> {
+ void f();
+};
+
+class F {};
+typedef A<F> AF;
diff --git a/clang/test/Modules/Inputs/DebugNestedB.h b/clang/test/Modules/Inputs/DebugNestedB.h
new file mode 100644
index 0000000..7f75d094
--- /dev/null
+++ b/clang/test/Modules/Inputs/DebugNestedB.h
@@ -0,0 +1,7 @@
+/* -*- C++ -*- */
+#include "DebugNestedA.h"
+class C {
+ void run(AF &af) {
+ af.f();
+ }
+};
diff --git a/clang/test/Modules/Inputs/module.map b/clang/test/Modules/Inputs/module.map
index a683190..2beb942 100644
--- a/clang/test/Modules/Inputs/module.map
+++ b/clang/test/Modules/Inputs/module.map
@@ -422,3 +422,13 @@
module DiagOutOfDate {
header "DiagOutOfDate.h"
}
+
+module DebugNestedA {
+ header "DebugNestedA.h"
+ export *
+}
+
+module DebugNestedB {
+ header "DebugNestedB.h"
+ export *
+}