https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124631
anlauf at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |anlauf at gcc dot gnu.org
Assignee|unassigned at gcc dot gnu.org |anlauf at gcc dot
gnu.org
--- Comment #4 from anlauf at gcc dot gnu.org ---
(In reply to David Binderman from comment #3)
> There is a flag --not-c for creduce. It produces:
>
> real, parameter::a(8) = 0
> integer, parameter::b = 4
> real, parameter::c = 3.0
> integer, parameter::d = 1
> real::e(8) = eoshift(a,b,c,d)
> end
>
> which is seemingly legal F90 code.
Perfect!
I could resolve the frontend memleaks found by valgrind, but the UBSAN issue
required my single-stepping through the code in gfc_simplify_eoshift.
It turns out that sstride[0] is not initialized for rank-1 argument a.
Will submit the fix after regtesting.