Module Debugging: Use the clang module signature as the module's dwo_id
when building a module. Clang already records the module signature when building a skeleton CU to reference a clang module. Matching the id in the skeleton with the one in the module allows a DWARF consumer to verify that they found the correct version of the module without them needing to know about the clang module format. llvm-svn: 248345
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
// RUN: %clang_cc1 -triple %itanium_abi_triple -x objective-c++ -std=c++11 -g -fmodules -fmodule-format=obj -fimplicit-module-maps -DMODULES -fmodules-cache-path=%t %s -I %S/Inputs -I %t -emit-llvm -o %t.ll -mllvm -debug-only=pchcontainer &>%t-mod.ll
|
||||
// RUN: cat %t-mod.ll | FileCheck %s
|
||||
// RUN: cat %t-mod.ll | FileCheck --check-prefix=CHECK-NEG %s
|
||||
// RUN: cat %t-mod.ll | FileCheck --check-prefix=CHECK-DWO %s
|
||||
|
||||
// PCH:
|
||||
// RUN: %clang_cc1 -triple %itanium_abi_triple -x c++ -std=c++11 -emit-pch -fmodule-format=obj -I %S/Inputs -o %t.pch %S/Inputs/DebugCXX.h -mllvm -debug-only=pchcontainer &>%t-pch.ll
|
||||
@@ -20,7 +21,8 @@
|
||||
|
||||
// CHECK: distinct !DICompileUnit(language: DW_LANG_{{.*}}C_plus_plus,
|
||||
// CHECK-SAME: isOptimized: false,
|
||||
// CHECK-SAME: splitDebugFilename:
|
||||
// CHECK-SAME-NOT: splitDebugFilename:
|
||||
// CHECK-DWO: dwoId:
|
||||
// CHECK: !DICompositeType(tag: DW_TAG_enumeration_type, name: "Enum"
|
||||
// CHECK-SAME: identifier: "_ZTSN8DebugCXX4EnumE")
|
||||
// CHECK: !DINamespace(name: "DebugCXX"
|
||||
|
||||
Reference in New Issue
Block a user