https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30398
Thomas Koenig <tkoenig at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #4 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
This is what we generated now for
program main
character(len=1) :: s
character(len=2) :: c
s = 'a'
c = repeat(s,2)
call foo(c)
end program main
:
;; Function main (main, funcdef_no=1, decl_uid=3926, cgraph_uid=2,
symbol_order=1) (executed once)
__attribute__((externally_visible))
main (integer(kind=4) argc, character(kind=1) * * argv)
{
character(kind=1) c[1:2];
static integer(kind=4) options.3[7] = {2116, 4095, 0, 1, 1, 0, 31};
<bb 2> [local count: 1073741825]:
_gfortran_set_args (argc_2(D), argv_3(D));
_gfortran_set_options (7, &options.3[0]);
MEM <unsigned short> [(c_char * {ref-all})&c] = 24929;
foo (&c, 2);
c ={v} {CLOBBER};
return 0;
}
So, everything that should be optimized is now optimized.
Fixed.