I spent some time looking for a dupe of this bug because it has been around at
least since version 3.3.5, and also is in 4.0.0 CVS, but I haven't found one:

I think this is illegal code, though I haven't checked, I put the parts to make
it work in comments:

template<typename AT>
class A{
  template<typename BT>
  class B;
};

template<typename AT>
template<typename BT>
class A<AT>::B{
  template<typename BT2>
  friend class /*A<AT>::*/B;
};

segfaults on versions:
4.0.0 20041218 (experimental)
3.4.4 20041218 (prerelease) (Debian 3.4.3-6)
3.3.5 (Debian 1:3.3.5-5)

-- 
           Summary: crash on invalid template friend decl
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: sstrasser at systemhaus-gruppe dot de
                CC: gcc-bugs at gcc dot gnu dot org


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

Reply via email to