https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118085

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu.org
           Keywords|                            |wrong-code

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
There are likely other flags (flag_wrapv) also used without proper context. 
All of these flags would need to be reflected into the IL or all fold invokers
set a cfun or alternatively, fold needs to treat !cfun conservatively when
those flags are queried.  The flags are aliased to global_options.x_* which
IIRC is updated from cfun at set-cfun time.

We might possibly want sth like a opt_for_cfun_or
(flag_delete_null_pointer_checks, false), thus when !cfun, use a conservative
setting.  (there might not be a conservative setting for all flags, so
some foldings might want to disable themselves without cfun)

Only for GENERIC trees in global initializers the "global options" are the
correct ones.

Reply via email to