[Lldb-commits] [lldb] r257603 - Silence an incorrect dwarf parsing warning
Tamas Berghammer via lldb-commits
lldb-commits at lists.llvm.org
Wed Jan 13 06:58:48 PST 2016
Author: tberghammer
Date: Wed Jan 13 08:58:48 2016
New Revision: 257603
URL: http://llvm.org/viewvc/llvm-project?rev=257603&view=rev
Log:
Silence an incorrect dwarf parsing warning
We have a check what warns if the offset of a class member is greater
then or equal to the size of the class. The warning is valid in most
case but it is invalid when the last data member is a 0 size array
because in this case the member offset can be equal to the class size
(subject to alignment limitations).
This CL fixis LLDB to not print out a warning in this special case.
Modified:
lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp?rev=257603&r1=257602&r2=257603&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp Wed Jan 13 08:58:48 2016
@@ -2928,7 +2928,7 @@ DWARFASTParserClang::ParseChildMembers (
if (member_byte_offset >= parent_byte_size)
{
- if (member_array_size != 1)
+ if (member_array_size != 1 && (member_array_size != 0 || member_byte_offset > parent_byte_size))
{
module_sp->ReportError ("0x%8.8" PRIx64 ": DW_TAG_member '%s' refers to type 0x%8.8" PRIx64 " which extends beyond the bounds of 0x%8.8" PRIx64,
die.GetID(),
More information about the lldb-commits
mailing list