aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-01-08 00:31:02 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-01-08 00:31:02 +0000
commit0fecdfb7c44aee85e78e0ba6e9547b702bc64c4a (patch)
tree10943594cb1f46e2ddc04756904d3b6d978a7ba5
parent251040bc18eedfa56d01fe92836e55cfd8c5d990 (diff)
downloadexternal_llvm-0fecdfb7c44aee85e78e0ba6e9547b702bc64c4a.zip
external_llvm-0fecdfb7c44aee85e78e0ba6e9547b702bc64c4a.tar.gz
external_llvm-0fecdfb7c44aee85e78e0ba6e9547b702bc64c4a.tar.bz2
Mark artificial types as such in the annotated debug output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171826 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/IR/DebugInfo.cpp3
-rw-r--r--test/DebugInfo/X86/elf-names.ll3
2 files changed, 6 insertions, 0 deletions
diff --git a/lib/IR/DebugInfo.cpp b/lib/IR/DebugInfo.cpp
index 6ca692e..d288308 100644
--- a/lib/IR/DebugInfo.cpp
+++ b/lib/IR/DebugInfo.cpp
@@ -1095,6 +1095,9 @@ void DIType::printInternal(raw_ostream &OS) const {
else if (isProtected())
OS << " [protected]";
+ if (isArtificial())
+ OS << " [artificial]";
+
if (isForwardDecl())
OS << " [fwd]";
}
diff --git a/test/DebugInfo/X86/elf-names.ll b/test/DebugInfo/X86/elf-names.ll
index 6e7154c..b6a263d 100644
--- a/test/DebugInfo/X86/elf-names.ll
+++ b/test/DebugInfo/X86/elf-names.ll
@@ -1,5 +1,6 @@
; RUN: llc -mtriple=x86_64-unknown-linux-gnu %s -o %t -filetype=obj
; RUN: llvm-dwarfdump %t | FileCheck %s
+; RUN: llvm-as < %s | llvm-dis | FileCheck --check-prefix=CHECK-DIS %s
; CHECK: 0x0000000b: DW_TAG_compile_unit
; CHECK: 0x00000012: DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000035] = "foo.cpp")
@@ -9,6 +10,8 @@
; CHECK: 0x00000045: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000005d] = "c1")
; CHECK: 0x0000008d: DW_AT_artificial [DW_FORM_flag_present] (true)
+; CHECK-DIS: [artificial]
+
%class.D = type { i32, i32, i32, i32 }
@_ZN1DC1Ev = alias void (%class.D*)* @_ZN1DC2Ev