From: Adrian Prantl Date: Fri, 15 Feb 2019 20:24:26 +0000 (+0000) Subject: Relax assertion to account for private framework modules, too. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b394e6bfa5793f7caea4c12f23231517e325f8c7;p=clang Relax assertion to account for private framework modules, too. rdar://problem/48116069 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@354165 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp index ce48f8bb13..e2da77f553 100644 --- a/lib/CodeGen/CGDebugInfo.cpp +++ b/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/test/Modules/DebugInfo-fmodule-name.c b/test/Modules/DebugInfo-fmodule-name.c index 6d962bcd27..7f2730ddc9 100644 --- a/test/Modules/DebugInfo-fmodule-name.c +++ b/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: