Fix a bug when pretty-printing DW_OP_deref.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223493 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Adrian Prantl
2014-12-05 18:19:38 +00:00
parent bb3e8dc693
commit 33ada85735
3 changed files with 7 additions and 1 deletions

View File

@@ -1415,6 +1415,9 @@ void DIExpression::printInternal(raw_ostream &OS) const {
OS << " offset=" << Offset << ", size=" << Size; OS << " offset=" << Offset << ", size=" << Size;
break; break;
} }
case DW_OP_deref:
// No arguments.
break;
default: default:
// Else bail out early. This may be a line table entry. // Else bail out early. This may be a line table entry.
OS << "Unknown]"; OS << "Unknown]";

View File

@@ -124,7 +124,7 @@ attributes #3 = { nounwind }
!66 = metadata !{i32 2, i32 20, metadata !8, null} !66 = metadata !{i32 2, i32 20, metadata !8, null}
!67 = metadata !{i32 2, i32 21, metadata !8, null} !67 = metadata !{i32 2, i32 21, metadata !8, null}
!68 = metadata !{metadata !"0x100\00block\002\000", metadata !8, metadata !5, metadata !25} ; [ DW_TAG_auto_variable ] [block] [line 2] !68 = metadata !{metadata !"0x100\00block\002\000", metadata !8, metadata !5, metadata !25} ; [ DW_TAG_auto_variable ] [block] [line 2]
!69 = metadata !{metadata !"0x102\006\0034\0032"} ; [ DW_TAG_expression ] [DW_OP_derefUnknown] !69 = metadata !{metadata !"0x102\006\0034\0032"} ; [ DW_TAG_expression ] [DW_OP_deref]
!70 = metadata !{i32 2, i32 9, metadata !8, null} !70 = metadata !{i32 2, i32 9, metadata !8, null}
!71 = metadata !{i32 2, i32 23, metadata !72, null} !71 = metadata !{i32 2, i32 23, metadata !72, null}
!72 = metadata !{metadata !"0xb\002\0021\000", metadata !1, metadata !8} ; [ DW_TAG_lexical_block ] [/foo.m] !72 = metadata !{metadata !"0xb\002\0021\000", metadata !1, metadata !8} ; [ DW_TAG_lexical_block ] [/foo.m]

View File

@@ -23,6 +23,9 @@
; ASM-CHECK: DEBUG_VALUE: vla <- RCX ; ASM-CHECK: DEBUG_VALUE: vla <- RCX
; ASM-CHECK: DW_OP_breg2 ; ASM-CHECK: DW_OP_breg2
; RUN: llvm-as %s -o - | llvm-dis - | FileCheck %s --check-prefix=PRETTY-PRINT
; PRETTY-PRINT: [ DW_TAG_expression ] [DW_OP_deref]
define void @testVLAwithSize(i32 %s) nounwind uwtable ssp { define void @testVLAwithSize(i32 %s) nounwind uwtable ssp {
entry: entry:
%s.addr = alloca i32, align 4 %s.addr = alloca i32, align 4