[Bug debug/68904] DWARF for class ios_base says it's a declaration
chihin.ko at oracle dot com
gcc-bugzilla@gcc.gnu.org
Mon Dec 14 23:30:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68904
--- Comment #4 from chihin ko <chihin.ko at oracle dot com> ---
(In reply to Andrew Pinski from comment #1)
> Can you try:
> -fno-eliminate-unused-debug-types
>
> I bet the full type debug info is going to be emitted in a different TU
> which is why GCC is not emitting it here.
>
>
> Also look at the debug info inside libstdc++.so/libstdc++.a to see if the
> full debug info is emitted there.
The problem is for class "ios_base", the attribute
DW_AT_declaration yes(1)
should not be there, because the full definition of the class is here:
< 2><0x0000b0f9> DW_TAG_class_type
DW_AT_name "ios_base"
DW_AT_declaration yes(1) <=== should not have
this
DW_AT_sibling <0x0000b4ab>
< 3><0x0000b103> DW_TAG_enumeration_type
DW_AT_name "event"
DW_AT_byte_size 0x00000004
DW_AT_decl_file 0x00000025
/pkg/gnu/include/c++/4.9.3/bits/ios_base
.h
DW_AT_decl_line 0x000001a3
DW_AT_sibling <0x0000b123>
< 4><0x0000b110> DW_TAG_enumerator
DW_AT_name "erase_event"
DW_AT_const_value 0x00000000
More information about the Gcc-bugs
mailing list