[PATCH] Fix another bad alias warning for ref-all pointers

Andrew Pinski pinskia@gmail.com
Sun Aug 10 19:26:00 GMT 2008


On Thu, Aug 7, 2008 at 2:57 AM, Richard Guenther <rguenther@suse.de> wrote:
>
> The tree-ssa-alias-warnings machinery had the same problem as the FE one.
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to the
> trunk and the 4.3 branch.
>
> Richard.
>
> 2008-08-07  Richard Guenther  <rguenther@suse.de>
>
>        PR middle-end/37042
>        * tree-ssa-alias-warnings.c (nonstandard_alias_p): Ref-all
>        pointers can access anything.
>
>        * gcc.dg/Wstrict-aliasing-bogus-ref-all-2.c: New testcase.
>
> Index: gcc/tree-ssa-alias-warnings.c
> ===================================================================
> *** gcc/tree-ssa-alias-warnings.c       (revision 138797)
> --- gcc/tree-ssa-alias-warnings.c       (working copy)
> *************** nonstandard_alias_p (tree ptr, tree alia
> *** 860,865 ****
> --- 860,869 ----
>    tree ptr_type = get_otype (ptr, true);
>    tree alias_type = get_otype (alias, ptr_ptr);
>
> +   /* If this is a ref-all pointer the access is ok.  */
> +   if (TYPE_REF_CAN_ALIAS_ALL (TREE_TYPE (ptr)))
> +     return false;
> +
>    /* XXX: for now, say it's OK if the alias escapes.
>       Not sure this is needed in general, but otherwise GCC will not
>       bootstrap.  */
> Index: gcc/testsuite/gcc.dg/Wstrict-aliasing-bogus-ref-all-2.c

This testcase fails on PPC64 Linux:
/home/apinski/src/local/gcc/gcc/testsuite/gcc.dg/Wstrict-aliasing-bogus-ref-all-2.c:8:
warning: GCC vector returned by reference: non-standard ABI extension
with no compatibility guarantee


Thanks,
Andrew Pinski



More information about the Gcc-patches mailing list