probinson added a comment. Looks pretty good, and thanks especially for the error-case tests! I'll give other folks a chance to chime in if they want to.
================ Comment at: lib/DebugInfo/DWARF/DWARFDebugLoc.cpp:101 + if (!Data.isValidOffsetForDataOfSize(*Offset, 2 * Data.getAddressSize())) + return createError("location list overflows the debug_loc section"); ---------------- This identical createError call occurs many times, maybe add a createLocListOverflowError() helper? ================ Comment at: lib/DebugInfo/DWARF/DWARFDebugLoc.cpp:115 - if (!Data.isValidOffsetForDataOfSize(*Offset, 2)) { - WithColor::error() << "location list overflows the debug_loc section.\n"; - return None; - } + if (!Data.isValidOffsetForDataOfSize(*Offset, 2)) + return createError("location list overflows the debug_loc section"); ---------------- You could do `SavedOffset = *Offset;` here, and then add a `SavedOffset == *Offset` check to the next one. There's no harm to calling a `get*` function with an invalid offset. ================ Comment at: lib/DebugInfo/DWARF/DWARFDebugLoc.cpp:218 } - return LL; } ---------------- Maybe put an llvm_unreachable here. ================ Comment at: test/DebugInfo/X86/dwarfdump-debug-loc-error-cases.s:1 +# RUN: llvm-mc %s -filetype obj -triple x86_64-pc-linux --defsym CASE1=0 -o %t.o +# RUN: llvm-dwarfdump -debug-loc %t.o 2>&1 | FileCheck %s --check-prefix=CONSUME ---------------- I was not aware of `--defsym` that looks incredibly useful! In a test that generates multiple .o files I prefer to give each one a unique name, e.g. `%t0.o` and `%t1.o` etc. It can make it easier to debug a broken test. Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63591/new/ https://reviews.llvm.org/D63591 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits