https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68904
ivan.soleimanipour at oracle dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ivan.soleimanipour at oracle dot c | |om --- Comment #5 from ivan.soleimanipour at oracle dot com --- I see now why Andrew was asking the questions he was asking. What we failed to notice is that the definition of ios_base in t.o is abbreviated. It contains only nested classes, 'static const' members and typedefs. There is no member function or data member information. There is a more complete definition in `libstdc++.so.6.0.18. So now the questions become: - How does gcc decide to emit this abbreviated form? - Why is it then not _fully_ abbreviated? Why bother with the typedefs and such? FWIW -fno-eliminate-unused-debug-types seems to make no difference.