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

--- Comment #7 from Stephen Kell <srk31 at srcf dot ucam.org> ---
Thanks for the backstory. I understand that 'accept as much as possible' isn't
the goal, nor would it be wise.

The pedwarn message you quoted, which explicitly makes reference to integer
constant expressions, is a good one. What's not good is that the issued
diagnostic is not that. It is not coming from c/c-typeck.cc. It seems to be
coming from c-family/c-common.cc.

I now understand why this behaviour has arisen -- the pre-4.5 compatibility
hack, combined with whatever foldings the compiler happens to do. I would still
say it's not a desirable or desired behaviour.

Arguably more desirable would be a behaviour consistent with the analogous
extension that is allowed for initializers. Of course keeping the pedwarn --
and adding one for the initializer case, which currently lacks one. Being
neither stable nor documented is still fine for many purposes (including mine).

Reply via email to