https://bugs.llvm.org/show_bug.cgi?id=40279
Bug ID: 40279
Summary: Incorrect scope information for a struct in DWARF
debug information
Product: clang
Version: 7.0
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: -New Bugs
Assignee: unassignedclangb...@nondot.org
Reporter: mbar...@runbox.com
CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org,
neeil...@live.com, richard-l...@metafoo.co.uk
Created attachment 21309
--> https://bugs.llvm.org/attachment.cgi?id=21309&action=edit
Source file containing incorrectly scoped struct
I was building Chrome with -g2 and trying to rebuild the class hierarchy graph
and came across this:
According to DWARF information, "__cxxabiv1::(anonymous
namespace)::scan_results" is being treated as "(anonymous
namespace)::scan_results".
Unfortunately I'm unsure how to reproduce, but here is what I ran into.
Relavant part from cxa_personality.cpp (full file attached):
namespace __cxxabiv1
{
extern "C"
{
namespace
{
struct scan_results
{
// [A bunch of fields]
};
}
}
}
}
This is contained (file is too large to attach) when disassembling the
generated BC file:
!13342 = !DINamespace(scope: null)
!227745 = distinct !DICompositeType(tag: DW_TAG_structure_type, name:
"scan_results", scope: !13342, file: !16882, line: 503, size: 384, flags:
DIFlagTypePassByValue, elements: !227746)
So !13342 does not point to the scope it's contained in.
The struct itself is known elsewhere by it's fullname, e.g.
%"struct.__cxxabiv1::(anonymous namespace)::scan_results" = type { i64, i8*,
i8*, i64, i8*, i32 }
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs