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

Reply via email to