This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
[RFH][tuples] Make Ada work
- From: Richard Guenther <rguenther at suse dot de>
- To: gcc at gcc dot gnu dot org
- Cc: ebotcazou at adacore dot com, kenner at vlsi1 dot ultra dot nyu dot edu
- Date: Sun, 20 Jul 2008 19:43:47 +0200 (CEST)
- Subject: [RFH][tuples] Make Ada work
The Ada status on tuples is now that you can build it (on i686 at least)
but gnatmake is miscompiled (or rather, the global initializer stuff
doesn't work - all the ___elabs are missing, as you can see in
for example gnat.dg/renaming3.adb failing if you just use gnat1 from
tuples in a trunk tree).
You need the patch below to allow the gnat/rts build to succeed, but
I'm lost with the above now - this is failures at -O0 after all - so
I expect some help from you Ada guys here.
Thanks,
Richard.
2008-07-20 Richard Guenther <rguenther@suse.de>
* gimple.c (gimple_has_side_effects): Disable asserts.
(gimple_rhs_has_side_effects): Likewise.
Index: gcc/gimple.c
===================================================================
*** gcc/gimple.c (revision 138006)
--- gcc/gimple.c (working copy)
*************** gimple_has_side_effects (const_gimple s)
*** 2318,2324 ****
for (i = 0; i < gimple_num_ops (s); i++)
if (TREE_SIDE_EFFECTS (gimple_op (s, i)))
{
! gcc_assert (gimple_has_volatile_ops (s));
return true;
}
}
--- 2318,2326 ----
for (i = 0; i < gimple_num_ops (s); i++)
if (TREE_SIDE_EFFECTS (gimple_op (s, i)))
{
! /* FIXME tuples. This assign is over-eager at least
! for Ada.
! gcc_assert (gimple_has_volatile_ops (s)); */
return true;
}
}
*************** gimple_rhs_has_side_effects (const_gimpl
*** 2367,2373 ****
if (TREE_SIDE_EFFECTS (gimple_op (s, i))
|| TREE_THIS_VOLATILE (gimple_op (s, i)))
{
! gcc_assert (gimple_has_volatile_ops (s));
return true;
}
}
--- 2369,2377 ----
if (TREE_SIDE_EFFECTS (gimple_op (s, i))
|| TREE_THIS_VOLATILE (gimple_op (s, i)))
{
! /* FIXME tuples. This assign is over-eager at least
! for Ada.
! gcc_assert (gimple_has_volatile_ops (s)); */
return true;
}
}
*************** gimple_rhs_has_side_effects (const_gimpl
*** 2378,2384 ****
if (TREE_SIDE_EFFECTS (gimple_op (s, i))
|| TREE_THIS_VOLATILE (gimple_op (s, i)))
{
! gcc_assert (gimple_has_volatile_ops (s));
return true;
}
}
--- 2382,2390 ----
if (TREE_SIDE_EFFECTS (gimple_op (s, i))
|| TREE_THIS_VOLATILE (gimple_op (s, i)))
{
! /* FIXME tuples. This assign is over-eager at least
! for Ada.
! gcc_assert (gimple_has_volatile_ops (s)); */
return true;
}
}