c++/5861: g++ 2.95.3 ice on instantiation of non-trivial class template

meinlschmidt@informatik.uni-erlangen.de meinlschmidt@informatik.uni-erlangen.de
Thu Mar 7 04:06:00 GMT 2002


>Number:         5861
>Category:       c++
>Synopsis:       g++ 2.95.3 ice on instantiation of non-trivial class template
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Thu Mar 07 04:06:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     meinlschmidt@informatik.uni-erlangen.de
>Release:        gcc version 2.95.3 20010315 (SuSE)
>Organization:
>Environment:
vanilla SuSE 7.2 Linux on x86
>Description:
g++-bug.C: In instantiation of `Baz<Thud>':
g++-bug.C:15:   instantiated from here
g++-bug.C:6: Internal compiler error.
g++-bug.C:6: Please submit a full bug report.
g++-bug.C:6: See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
>How-To-Repeat:
// g++-bug.C

template<typename T> struct Foo {
  template<typename U> struct Bar {};
};

template<typename T> struct Baz {
  Foo<typename T::Grunt>::Bar<int> bar;  // Clunk!
};

struct Thud {
  class Grunt {};
};

main()
{
  Baz<Thud> baz;
}
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-prs mailing list