summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/lib/CodeGen/CGDebugInfo.cpp4
-rw-r--r--clang/test/Modules/DebugInfo-fmodule-name.c6
2 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp
index ce48f8bb132..e2da77f5534 100644
--- a/clang/lib/CodeGen/CGDebugInfo.cpp
+++ b/clang/lib/CodeGen/CGDebugInfo.cpp
@@ -2299,8 +2299,8 @@ CGDebugInfo::getOrCreateModuleRef(ExternalASTSource::ASTSourceDescriptor Mod,
// When a module name is specified as -fmodule-name, that module gets a
// clang::Module object, but it won't actually be built or imported; it will
// be textual.
- if (CreateSkeletonCU && IsRootModule && Mod.getASTFile().empty())
- assert((!M || (M->Name == CGM.getLangOpts().ModuleName)) &&
+ if (CreateSkeletonCU && IsRootModule && Mod.getASTFile().empty() && M)
+ assert(StringRef(M->Name).startswith(CGM.getLangOpts().ModuleName) &&
"clang module without ASTFile must be specified by -fmodule-name");
if (CreateSkeletonCU && IsRootModule && !Mod.getASTFile().empty()) {
diff --git a/clang/test/Modules/DebugInfo-fmodule-name.c b/clang/test/Modules/DebugInfo-fmodule-name.c
index 6d962bcd274..7f2730ddc97 100644
--- a/clang/test/Modules/DebugInfo-fmodule-name.c
+++ b/clang/test/Modules/DebugInfo-fmodule-name.c
@@ -1,16 +1,16 @@
// RUN: rm -rf %t
-// RUN: %clang_cc1 -fmodules -fmodule-format=obj -fmodule-name=F \
+// RUN: %clang_cc1 -fmodules -fmodule-format=obj -fmodule-name=MainA \
// RUN: -debug-info-kind=limited -dwarf-ext-refs \
// RUN: -fimplicit-module-maps -x c -fmodules-cache-path=%t -F %S/Inputs \
// RUN: %s -S -emit-llvm -debugger-tuning=lldb -o - | FileCheck %s
-#include "F/F.h"
+#include "MainA/MainPriv.h"
// CHECK: !DICompileUnit
// CHECK-NOT: dwoId:
// We still want the import, but no skeleton CU, since no PCM was built.
-// CHECK: !DIModule({{.*}}, name: "F"
+// CHECK: !DIModule({{.*}}, name: "APriv"
// CHECK-NOT: !DICompileUnit
// CHECK-NOT: dwoId:
OpenPOWER on IntegriCloud