This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][tuples][Ada] Disable gcc_asserts in gimple_has_side_effects


On Mon, 21 Jul 2008, Richard Guenther wrote:

> On Mon, 21 Jul 2008, Olivier Hainque wrote:
> 
> > Olivier Hainque wrote:
> > >  Could you please tell a bit more about the situations where you're
> > >  seeing the failures in general, and the empty constructor case in
> > >  particular ?
> > > 
> > >  Is this while bootstrapping, building the libray, running the tests ?
> > 
> >  Just realized this was what your RTS related message on gcc@ is about.
> 
> The assert happens when building the RTS, I'm rebuilding to get you
> and example file.

With tuples head I end up with

/abuild/rguenther/tuples-g/./gcc/xgcc -B/abuild/rguenther/tuples-g/./gcc/ 
-B/usr/local/x86_64-unknown-linux-gnu/bin/ 
-B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem 
/usr/local/x86_64-unknown-linux-gnu/include -isystem 
/usr/local/x86_64-unknown-linux-gnu/sys-include -c -g -O2 -fPIC      -W 
-Wall -gnatpg  g-alleve.adb -o g-alleve.o
+===========================GNAT BUG 
DETECTED==============================+
| 4.4.0 20080715 (experimental) (x86_64-unknown-linux-gnu) GCC error:      
|
| in gimple_rhs_has_side_effects, at gimple.c:2370                         
|
| Error detected around g-alleve.adb:1985                                  
|

#2  0x000000000093d7a7 in gimple_rhs_has_side_effects (s=0x7f8b406598c0)
    at /space/rguenther/src/svn/gimple-tuples-branch/gcc/gimple.c:2370
2370                gcc_assert (gimple_has_volatile_ops (s));
(gdb) print s
$1 = (const_gimple) 0x7f8b406598c0
(gdb) call debug_gimple_stmt (s)
# C178b_66 = VDEF <C178b_65(D)> { C178b }
C178b = {};

(gdb) call gimple_op (s, 1)
$2 = (union tree_node *) 0x7f8b406ccc60
(gdb) call debug_tree ($2)
 <constructor 0x7f8b406ccc60
    type <record_type 0x7f8b404636c0 gnat__altivec__vector_views__vsi_view 
readonly sizes-gimplified BLK
        size <integer_cst 0x7f8b4221cdb0 constant 128>
        unit size <integer_cst 0x7f8b4221cde0 constant 16>
        user align 128 symtab 1110011904 alias set 28 canonical type 
0x7f8b404636c0
        fields <field_decl 0x7f8b408cb5a0 values type <record_type 
0x7f8b408cd600 gnat__altivec__vector_views__varray_signed_int___PAD>
            BLK file g-alvevi.ads line 122 col 7 size <integer_cst 
0x7f8b4221cdb0 128> unit size <integer_cst 0x7f8b4221cde0 16>
            user align 128 offset_align 128
            offset <integer_cst 0x7f8b422350c0 constant visited 0>
            bit offset <integer_cst 0x7f8b422350f0 constant 0> context 
<record_type 0x7f8b408cd900 gnat__altivec__vector_views__vsi_view>> Ada 
size <integer_cst 0x7f8b4221cdb0 128>>
    side-effects lngt 0>

so that constructor has TREE_SIDE_EFFECTS set.

I didn't yet try to track this down to either the frontend or maybe
the gimplifier.  So both could be at fault.

Richard.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]