From ad1fff0c4d3e79f6fe1d0a44a953654121ae323d Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Fri, 3 Aug 2018 12:01:43 +0000 Subject: [PATCH] [DebugInfo/Verifier] Don't emit error for missing module in index We don't expect module names to be present in the index. This patch adds DW_TAG_module to the blacklist. Differential revision: https://reviews.llvm.org/D50237 llvm-svn: 338878 --- lib/DebugInfo/DWARF/DWARFVerifier.cpp | 3 ++- test/DebugInfo/X86/DIModule.ll | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/DebugInfo/DWARF/DWARFVerifier.cpp b/lib/DebugInfo/DWARF/DWARFVerifier.cpp index d4677f60afa..85dd84b5417 100644 --- a/lib/DebugInfo/DWARF/DWARFVerifier.cpp +++ b/lib/DebugInfo/DWARF/DWARFVerifier.cpp @@ -1211,8 +1211,9 @@ unsigned DWARFVerifier::verifyNameIndexCompleteness( // make sure we catch any missing items, we instead blacklist all TAGs that we // know shouldn't be indexed. switch (Die.getTag()) { - // Compile unit has a name but it shouldn't be indexed. + // Compile units and modules have names but shouldn't be indexed. case DW_TAG_compile_unit: + case DW_TAG_module: return 0; // Function and template parameters are not globally visible, so we shouldn't diff --git a/test/DebugInfo/X86/DIModule.ll b/test/DebugInfo/X86/DIModule.ll index 97c639c9a8e..de083047861 100644 --- a/test/DebugInfo/X86/DIModule.ll +++ b/test/DebugInfo/X86/DIModule.ll @@ -1,6 +1,7 @@ ; ModuleID = '/Volumes/Data/apple-internal/llvm/tools/clang/test/Modules/debug-info-moduleimport.m' -; RUN: llc %s -o %t -filetype=obj +; RUN: llc %s -accel-tables=Dwarf -o %t -filetype=obj ; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s +; RUN: llvm-dwarfdump -verify %t ; CHECK: DW_TAG_module ; CHECK-NEXT: DW_AT_name {{.*}}"DebugModule" ; CHECK-NEXT: DW_AT_LLVM_config_macros {{.*}}"-DMODULES=0"