Compile this simple code with g++ -g. I tried 3.3, 4.0, and 4.1 compilers.
namespace bar { struct whatever { int someval; }; typedef whatever zot; }; int main() { bar::whatever b; bar::zot c; return 1; } The debugging information will reveal that "whatever" is in bar, but not "zot". In fact, "zot" will appear to be defined in main instead. This prevents the debugger from e.g. "ptype bar::zot". -- Summary: Debugging output forgets scope for typedefs. Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: drow at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27160