[Bug c++/10898] [3.3 regression] ICE on illegal template parameter (resume_binding_level, at cp/decl.c:598)

reichelt@gcc.gnu.org gcc-bugzilla@gcc.gnu.org
Thu May 22 10:12: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=10898


reichelt@gcc.gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |ice-on-invalid-code
            Summary|Unable to compile c++       |[3.3 regression] ICE on
                   |program containing Rogue    |illegal template parameter
                   |Wave usage using gcc 3.2    |(resume_binding_level, at
                   |                            |cp/decl.c:598)


------- Additional Comments From reichelt@gcc.gnu.org  2003-05-22 09:01 -------
The code is invalid, the "class/typename" keyword is missing in line 2560ff:

  template< _Alloc>
    class allocator;

  template< _CharT, _Traits = char_traits<_CharT>,
           _Alloc = allocator<_CharT> >
    class basic_string;

So we have on ice-on-invalid-code. A reduced example is:

--------------------------------------------------------------
template <BOGUS> struct A;

namespace std {}
--------------------------------------------------------------

The error message (3.3) is:

PR10898.cc:1: error: parse error before `>' token
PR10898.cc:2: internal compiler error: in resume_binding_level, at cp/decl.c:598
Please submit a full bug report, [etc.]

The code crashes gcc 3.0 - 3.3 (checked on i686-pc-linux-gnu).
Gcc 2.95.3 and mainline work fine.




------- 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