This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ada/64055] [5 regression] gnat.dg/derived_aggregate.adb FAILs on 32-bit i386
- From: "ebotcazou at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 28 Nov 2014 11:07:21 +0000
- Subject: [Bug ada/64055] [5 regression] gnat.dg/derived_aggregate.adb FAILs on 32-bit i386
- Auto-submitted: auto-generated
- References: <bug-64055-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64055
--- Comment #4 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
ix86_function_arg_advance calls chkp_type_bounds_count which dies on an array
type with variable bounds so the immediate workaround is:
Index: tree-chkp.c
===================================================================
--- tree-chkp.c (revision 218133)
+++ tree-chkp.c (working copy)
@@ -1565,7 +1565,9 @@ chkp_find_bound_slots_1 (const_tree type
HOST_WIDE_INT esize = TREE_INT_CST_LOW (TYPE_SIZE (etype));
unsigned HOST_WIDE_INT cur;
- if (!maxval || integer_minus_onep (maxval))
+ if (!maxval
+ || integer_minus_onep (maxval)
+ || CONTAINS_PLACEHOLDER_P (maxval))
return;
for (cur = 0; cur <= TREE_INT_CST_LOW (maxval); cur++)
but a specialist needs to have a look here.