On Mon, 15 Dec 2014, Marek Polacek wrote:

> m68k revealed another missing check before TYPE_OVERFLOW_WRAPS.
> I think we should use INTEGRAL_TYPE_P, and not ANY_INTEGRAL_TYPE_P
> because the switch handles VECTOR_CST and COMPLEX_CST.
> 
> Bootstrapped/regtested on x86_64-linux and ppc64-linux, ok for trunk?

Ok.

Thanks,
Richard.

> 2014-12-15  Marek Polacek  <pola...@redhat.com>
> 
>       PR middle-end/64292
>       * fold-const.c (negate_expr_p): Add INTEGRAL_TYPE_P check.
> 
> diff --git gcc/fold-const.c gcc/fold-const.c
> index d71fa94..07da71a 100644
> --- gcc/fold-const.c
> +++ gcc/fold-const.c
> @@ -400,7 +400,7 @@ negate_expr_p (tree t)
>    switch (TREE_CODE (t))
>      {
>      case INTEGER_CST:
> -      if (TYPE_OVERFLOW_WRAPS (type))
> +      if (INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_WRAPS (type))
>       return true;
>  
>        /* Check that -CST will not overflow type.  */
> 
>       Marek
> 
> 

-- 
Richard Biener <rguent...@suse.de>
SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Jennifer Guild,
Dilip Upmanyu, Graham Norton HRB 21284 (AG Nuernberg)

Reply via email to