[LLVMdev] Assertion failure (Bug 21609) in DwarfFile.cpp
Sandeep Raju
srand48 at gmail.com
Tue Apr 28 19:07:19 PDT 2015
Hi Folks,
I ran into this assertion failure while compiling a function with a
large number of arguments:
https://llvm.org/bugs/show_bug.cgi?id=21609
I have coded up the fix as per David's suggestion (added a new header
field for DIVariable to separate out ArgNo & LineNo). The proposed
diff is attached to the bug.
However, there are around 175 testcases across clang & llvm that need
to be udpated to reflect the new schema. One such eg:
diff --git a/test/Instrumentation/AddressSanitizer/debug_info.ll
b/test/Instrumentation/AddressSanitizer/debug_info.ll
index c0939c5..4112f14 100644
--- a/test/Instrumentation/AddressSanitizer/debug_info.ll
+++ b/test/Instrumentation/AddressSanitizer/debug_info.ll
@@ -41,9 +41,9 @@ declare void @llvm.dbg.declare(metadata, metadata,
metadata) nounwind readnone
!7 = !{!"0x15\00\000\000\000\000\000\000", i32 0, null, null, !8,
null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align
0, offset 0] [from ]
!8 = !{!9, !9}
!9 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [
DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc
DW_ATE_signed]
-!10 = !{!"0x101\00p\0016777217\000", !5, !6, !9} ; [
DW_TAG_arg_variable ] [p] [line 1]
+!10 = !{!"0x101\00p\001\001\000", !5, !6, !9} ; [ DW_TAG_arg_variable
] [p] [line 1]
!11 = !MDLocation(line: 1, scope: !5)
-!12 = !{!"0x100\00r\002\000", !13, !6, !9} ; [ DW_TAG_auto_variable ]
[r] [line 2]
+!12 = !{!"0x100\00r\002\000\000", !13, !6, !9} ; [
DW_TAG_auto_variable ] [r] [line 2]
Before I spend cycles updating the test cases, I wanted get a 'go
ahead' from code owners.
Please let me know.
Thanks,
Sandeep
More information about the llvm-dev
mailing list