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