[Bug c++/10706] ICE in mangle_class_name_for_template

reichelt@gcc.gnu.org gcc-bugzilla@gcc.gnu.org
Tue May 27 01:08:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


reichelt@gcc.gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
           Keywords|                            |error-recovery, ice-on-
                   |                            |invalid-code
         Resolution|                            |FIXED


------- Additional Comments From reichelt@gcc.gnu.org  2003-05-27 00:29 -------
A reduced testcase is the following:

--------------------------------------------
template <typename> struct A
{
    template <typename> struct B {};
};

struct C
{
    typedef X Y;
    A<int>::B<Y> b;
};
--------------------------------------------

The error message from gcc 3.3 is:

PR10706.cc:8: error: ISO C++ forbids declaration of `X' with no type
PR10706.cc:8: error: parse error before `;' token
PR10706.cc:9: error: `Y' was not declared in this scope
PR10706.cc:9: error: template argument 1 is invalid
PR10706.cc:9: internal compiler error: tree check: expected tree_vec, have 
   error_mark in mangle_class_name_for_template, at cp/pt.c:3845
Please submit a full bug report, [etc.]

The code crashes every release since gcc 2.95.x.
Since it is not a regression and the problem is fixed on mainline,
I close the PR.




------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the Gcc-bugs mailing list