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

Reply via email to