https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121527
--- Comment #19 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > The following fixes the bug as well: > > diff --git a/gcc/tree-sra.cc b/gcc/tree-sra.cc > index 032f2770484..9bf0672cf41 100644 > --- a/gcc/tree-sra.cc > +++ b/gcc/tree-sra.cc > @@ -4086,12 +4089,6 @@ get_access_for_expr (tree expr) > tree base; > bool reverse; > > - /* FIXME: This should not be necessary but Ada produces V_C_Es with a > type of > - a different size than the size of its argument and we need the latter > - one. */ > - if (TREE_CODE (expr) == VIEW_CONVERT_EXPR) > - expr = TREE_OPERAND (expr, 0); > - > base = get_ref_base_and_extent (expr, &poffset, &psize, &pmax_size, > &reverse); > if (!known_size_p (pmax_size) Unfortunately only removing the FIXME introduced more regressions: === acats tests === +FAIL: c390003 FAIL: c391002 +FAIL: c41303a +FAIL: c41303i +FAIL: c41303m +FAIL: c41303u +FAIL: c432002 === acats Summary === -# of expected passes 2577 -# of unexpected failures 1 +# of expected passes 2571 +# of unexpected failures 7 Native configuration is x86_64-suse-linux-gnu