X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Ftree-sra.c;h=4330a17fc49ebc3116d48795b98ab2c92a02e65a;hp=c06ca8eb2a4c0a902953e07bd713a53e4153f259;hb=9282d1690a7f7f23f2466f43e81a954feabb7da9;hpb=83464a81701c82f4185ae8ba9c77f1de407cdcda diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index c06ca8eb2a4..4330a17fc49 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -3587,7 +3587,10 @@ splice_param_accesses (tree parm, bool *ro_grp) else if (ac2->size != access->size) return NULL; - if (access_precludes_ipa_sra_p (ac2)) + if (access_precludes_ipa_sra_p (ac2) + || (ac2->type != access->type + && (TREE_ADDRESSABLE (ac2->type) + || TREE_ADDRESSABLE (access->type)))) return NULL; modification |= ac2->write;