Both these testcases:
------------------------------------------------------------------------------
class C {
public:
  typedef void (*t) (C);
};
C::t f;
------------------------------------------------------------------------------
class C {
public:
  typedef void (*t) (C);
  t v;
} c;
------------------------------------------------------------------------------
produce on
g++ (GCC) 4.4.4 20100402 (prerelease)
 <1><44>: Abbrev Number: 4 (DW_TAG_subroutine_type)
 <2><49>: Abbrev Number: 5 (DW_TAG_formal_parameter)
    <4a>   DW_AT_type        : <0x2d>   

but on
g++ (GCC) 4.5.0 20100402 (experimental)
 <1><53>: Abbrev Number: 6 (DW_TAG_subroutine_type)
 <2><58>: Abbrev Number: 7 (DW_TAG_formal_parameter)


-- 
           Summary: [4.5 Regression] in-class func-ptr type parameter has
                    unspecified DW_AT_type
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jan dot kratochvil at redhat dot com
GCC target triplet: x86_64-unknown-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43628

Reply via email to