This is the mail archive of the gcc-bugs@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]

[Bug ada/64055] [5 regression] gnat.dg/derived_aggregate.adb FAILs on 32-bit i386


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.


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