On Mon, Dec 1, 2014 at 10:33 AM, Ilya Enkovich <enkovich....@gmail.com> wrote:
> Hi,
>
> This patch fixes ICE in chkp_find_bound_slots_1 by checking for non constant 
> values in array domain.  Bootstrapped on x86_64-unknown-linux-gnu with Ada.  
> gnat.dg/derived_aggregate.adb is a new pass.  OK for trunk?

Ok.

But now I'm curious - bounds-checking wasn't supposed to be used
for Ada but now it is?

Thanks,
Richard.

> Thanks,
> Ilya
> --
> 2014-12-01  Ilya Enkovich  <ilya.enkov...@intel.com>
>
>         PR target/64055
>         * tree-chkp.c (chkp_find_bound_slots_1): Allow non constant
>         values in array domain.
>
>
> diff --git a/gcc/tree-chkp.c b/gcc/tree-chkp.c
> index 3e38691..6665ce2 100644
> --- a/gcc/tree-chkp.c
> +++ b/gcc/tree-chkp.c
> @@ -1565,7 +1565,9 @@ chkp_find_bound_slots_1 (const_tree type, bitmap 
> have_bound,
>        HOST_WIDE_INT esize = TREE_INT_CST_LOW (TYPE_SIZE (etype));
>        unsigned HOST_WIDE_INT cur;
>
> -      if (!maxval || integer_minus_onep (maxval))
> +      if (!maxval
> +         || TREE_CODE (maxval) != INTEGER_CST
> +         || integer_minus_onep (maxval))
>         return;
>
>        for (cur = 0; cur <= TREE_INT_CST_LOW (maxval); cur++)

Reply via email to