This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
c++/9727: [3.3 regression] ICE in pushclass() with template and conversion operator
- From: bangerth at ticam dot utexas dot edu
- To: gcc-gnats at gcc dot gnu dot org
- Date: 17 Feb 2003 16:11:15 -0000
- Subject: c++/9727: [3.3 regression] ICE in pushclass() with template and conversion operator
- Reply-to: bangerth at ticam dot utexas dot edu
>Number: 9727
>Category: c++
>Synopsis: [3.3 regression] ICE in pushclass() with template and conversion operator
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Feb 17 16:16:01 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: Wolfgang Bangerth
>Release: unknown-1.0
>Organization:
>Environment:
3.3 branch
>Description:
This ICEs on the 3.3 branch, but not with 3.2.2 or present
mainline:
-----------------------------
template <class T> struct X {
typedef int type;
};
template <class T> struct O {
struct I {
operator typename X<T>::type ();
};
};
template <class T>
O<T>::I::operator typename X<T>::type () {}
------------------------------------------
g/x> /home/bangerth/bin/gcc-3.3-pre/bin/c++ -c y.cc
y.cc:12: internal compiler error: Segmentation fault
Please submit a full bug report,
I double checked: this doesn't happen with mainline
snapshots from 2002-12-05 and -19, so I guess this
must be a regression that was introduced on the branch.
Too bad :-(
A backtrace of this is as here:
#0 0x08080896 in pushclass (type=0x4018d8c0, modify=2)
at ../../gcc-3.3-CVS/gcc/cp/class.c:5657
#1 0x0808917f in push_scope (t=0x0) at ../../gcc-3.3-CVS/gcc/cp/decl2.c:4038
#2 0x080855e9 in grokoptypename (declspecs=0x0, declarator=0x0,
scope=0x4018d8c0) at ../../gcc-3.3-CVS/gcc/cp/decl2.c:1145
#3 0x08096b74 in yyparse () at parse.y:3992
#4 0x080d26b9 in c_common_parse_file (set_yydebug=0)
at ../../gcc-3.3-CVS/gcc/c-lex.c:159
W.
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: