[llvm-bugs] [Bug 40279] New: Incorrect scope information for a struct in DWARF debug information

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Jan 9 19:05:12 PST 2019


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: unassignedclangbugs at nondot.org
          Reporter: mbarbar at runbox.com
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org,
                    neeilans at live.com, richard-llvm at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190110/819a75b9/attachment-0001.html>


More information about the llvm-bugs mailing list