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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
The reporter thinks this is wrong-code.

The C frontend rejects an extern const initialized object but handles the
following not to the reporters expectations, optimizing it to return 4
(GCC 7 worked):

const int __attribute__((weak)) x = 4;

int foo() { return x; }


I think a weak definition should only be replaceable with a semantically
equivalent strong definition.  Note I think we have testcases that verify
we do not inline weak function definitions.

Reply via email to