http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47510
--- Comment #4 from Dodji Seketeli <dodji at gcc dot gnu.org> 2011-03-14
21:03:35 UTC ---
This is because G++ generates struct F<int>::C. The instantiated
F<int>::C a typedef. No anonymous struct is generated inside F<int>.
What is generated is really the same as for:
template<typename T>
class F
{
struct C {int i};
C a;
};
F<int> f;
I guess we could try hard to trick the dwarf emitter into describing
debug information for a typedef and an anonymous code that is actually
not generated (instantiated), but would that be really worth it?