------- Comment #1 from rguenth at gcc dot gnu dot org 2006-04-19 08:25 -------
Confirmed.
#0 internal_error (
gmsgid=0x8a04870 "tree check: did not expect class %qs, have %qs (%s) in
%s, at %s:%d") at /space/rguenther/src/svn/gcc/gcc/diagnostic.c:586
#1 0x0875e9b2 in tree_not_class_check_failed (node=0xb7e1b450, cl=tcc_type,
file=0x8a0310c "/space/rguenther/src/svn/gcc/gcc/tree.c", line=2139,
function=0x8a039d8 "contains_placeholder_p")
at /space/rguenther/src/svn/gcc/gcc/tree.c:6124
#2 0x0873e15f in contains_placeholder_p (exp=0xb7de2a60)
at /space/rguenther/src/svn/gcc/gcc/tree.c:2139
#3 0x0873e7b8 in contains_placeholder_p (exp=0xb7d69144)
at /space/rguenther/src/svn/gcc/gcc/tree.c:2141
#4 0x0873e23b in contains_placeholder_p (exp=0xb7de2ac0)
at /space/rguenther/src/svn/gcc/gcc/tree.c:2139
#5 0x0873c05f in save_expr (expr=0xb7de2ae0)
at /space/rguenther/src/svn/gcc/gcc/tree.c:1956
#6 0x081b1c21 in build_new (placement=0x0, type=0xb7d72114, nelts=0xb7de2ac0,
init=0x0, use_global_new=0)
at /space/rguenther/src/svn/gcc/gcc/cp/init.c:2111
#7 0x0815d30a in cp_parser_new_expression (parser=0xb7e1e3a8)
at /space/rguenther/src/svn/gcc/gcc/cp/parser.c:5070
#2 0x0873e15f in contains_placeholder_p (exp=0xb7de2a60)
at /space/rguenther/src/svn/gcc/gcc/tree.c:2139
2139 return CONTAINS_PLACEHOLDER_P (TREE_OPERAND (exp, 0));
(gdb) call debug_tree(exp)
<sizeof_expr 0xb7de2a60
type <integer_type 0xb7d722e0 unsigned int public unsigned type_6 SI
size <integer_cst 0xb7d613d8 constant invariant 32>
unit size <integer_cst 0xb7d61168 constant invariant 4>
align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0xb7d61450
0> max <integer_cst 0xb7d61438 4294967295>>
readonly
arg 0 <template_type_parm 0xb7e1b450 foo type_0 type_6 VOID
align 8 symtab 0 alias set -1
index 0 level 1 orig_level 1
chain <type_decl 0xb7de8958 foo>>>
(gdb) up
#3 0x0873e7b8 in contains_placeholder_p (exp=0xb7d69144)
at /space/rguenther/src/svn/gcc/gcc/tree.c:2141
2141 return (CONTAINS_PLACEHOLDER_P (TREE_OPERAND (exp, 0))
(gdb)
#4 0x0873e23b in contains_placeholder_p (exp=0xb7de2ac0)
at /space/rguenther/src/svn/gcc/gcc/tree.c:2139
2139 return CONTAINS_PLACEHOLDER_P (TREE_OPERAND (exp, 0));
(gdb) call debug_tree(exp)
<non_dependent_expr 0xb7de2ac0
type <integer_type 0xb7d722e0 unsigned int public unsigned type_6 SI
size <integer_cst 0xb7d613d8 constant invariant 32>
unit size <integer_cst 0xb7d61168 constant invariant 4>
align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0xb7d61450
0> max <integer_cst 0xb7d61438 4294967295>>
arg 0 <mult_expr 0xb7d69144 type <integer_type 0xb7d722e0 unsigned int>
arg 0 <parm_decl 0xb7d6a780 a type <integer_type 0xb7d72284 int>
used SI file t.C line 2 size <integer_cst 0xb7d613d8 32> unit size
<integer_cst 0xb7d61168 4>
align 32 context <function_decl 0xb7e19c00 bar> initial
<integer_type 0xb7d72284 int> arg-type <integer_type 0xb7d72284 int>>
arg 1 <sizeof_expr 0xb7de2a60 type <integer_type 0xb7d722e0 unsigned
int>
readonly arg 0 <template_type_parm 0xb7e1b450 foo>>>>
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Component|tree-optimization |c++
Ever Confirmed|0 |1
GCC target triplet|powerpc64-linux |
Keywords| |ice-on-valid-code
Last reconfirmed|0000-00-00 00:00:00 |2006-04-19 08:25:25
date| |
Summary|ICE on c++ template |[4.2 Regression] ICE on c++
| |template
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27210