------- Comment #1 from pinskia at gmail dot com 2010-07-09 14:48 ------- Subject: Re: New: Hitting gcc_assert in build2_stat with pr30388.c testsuite test case
Can you give the full backtrace? Where is the build2 being called from? On Jul 9, 2010, at 7:36 AM, "bergner at gcc dot gnu dot org" <gcc-bugzi...@gcc.gnu.org > wrote: > The pr30388.c test case ICE's on trunk and powerpc64-linux with the > following > options: -Os -m64 > > Looking at a backtrace, we're hitting this assert in > tree.c:build2_stat(): > > if (code == POINTER_PLUS_EXPR && arg0 && arg1 && tt) > gcc_assert (POINTER_TYPE_P (tt) && POINTER_TYPE_P (TREE_TYPE > (arg0)) > && INTEGRAL_TYPE_P (TREE_TYPE (arg1)) > && useless_type_conversion_p (sizetype, TREE_TYPE > (arg1))); > > gdb shows this: > > (gdb) frame 1 > #1 0x000000001066de84 in build2_stat (code=POINTER_PLUS_EXPR, > tt=0x40000410000, arg0=0x400005112e8, arg1=0x400003104b0) > at /home/bergner/gcc/gcc-mainline-r161924/gcc/tree.c:3715 > 3715 gcc_assert (POINTER_TYPE_P (tt) && POINTER_TYPE_P > (TREE_TYPE > (arg0)) > > (gdb) call debug_tree(tt) > <integer_type 0x40000410000 long unsigned int public unsigned > sizetype DI > size <integer_cst 0x40000310780 type <integer_type 0x400004100a8 > bit_size_type> constant 64> > unit size <integer_cst 0x400003107a8 type <integer_type 0x40000410000 > long > unsigned int> constant 8> > align 64 symtab 0 alias set -1 canonical type 0x40000410000 > precision 64 > min <integer_cst 0x400003107d0 0> max <integer_cst 0x40000310aa0 -1>> > > (gdb) call debug_tree(arg0) > <ssa_name 0x400005112e8 > type <integer_type 0x40000410000 long unsigned int public > unsigned sizetype > DI > size <integer_cst 0x40000310780 constant 64> > unit size <integer_cst 0x400003107a8 constant 8> > align 64 symtab 0 alias set -1 canonical type 0x40000410000 > precision > 64 min <integer_cst 0x400003107d0 0> max <integer_cst 0x40000310aa0 > -1>> > visited var <var_decl 0x400004f1fe0 D.2060>def_stmt D.2060_43 = > ivtmp.27_37 > + D.2059_42; version 43> > > (gdb) call debug_tree(arg1) > <integer_cst 0x400003104b0 type <integer_type 0x40000410000 long > unsigned int> > constant 1> > > > -- > Summary: Hitting gcc_assert in build2_stat with pr30388.c > testsuite test case > Product: gcc > Version: 4.6.0 > Status: UNCONFIRMED > Severity: normal > Priority: P3 > Component: middle-end > AssignedTo: unassigned at gcc dot gnu dot org > ReportedBy: bergner at gcc dot gnu dot org > GCC build triplet: powerpc64-linux > GCC host triplet: powerpc64-linux > GCC target triplet: powerpc64-linux > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44890 > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44890