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