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

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
(In reply to Tobias Burnus from comment #0)
> With CLASS, I am not quite sure what goes wrong. I initially thought it is
> just a missing copy – as the dump shows:
> 
>       class.20._data = &var;
>       classy (&class.20);
> 
> But if I print x%A(:), it looks complete random and uninitialized.

With -O0, one indeed runs into 'stop 2' - i.e. '&var' is not copied.

However, with -O1 it fails with the uninit memory. I assume that the alias
analysis gets in trouble, cf. PR 92123.

I think alias analysis will turn out to be a non-issue once VALUE is proper
handled, but I wonder whether some corner case can still cause problems.

Reply via email to