On 12/20/18 10:46 AM, Martin Sebor wrote:
On 12/17/18 7:58 AM, Jason Merrill wrote:
On 12/15/18 3:36 AM, Bernd Edlinger wrote:
this patch implements an error message, for non-static initialization
of a flexible array member.
This duplicates the existing error message from the C-FE, to avoid
ICE and wrong code generation
issues, as pointed out in the PR.
It is a bit funny that a non-functional feature like that has already
rather much test coverage.
The most easy adjustment seems to change the existing test cases to
use static declarations.
Martin, thoughts?
Our high-level goal when tightening up how flexible array members
are handled in C++ was to accept what's accepted in standard C mode
and reject (or, at a minimum, warn for) C++ extensions that could
be relied on in existing code.
I meant "reject what couldn't be relied on" and "warn for that could
be."
(Sorry for the delay, by the way. I've been migrating to a new machine
this week and things aren't yet working quite like I'm used to.)
The flexarray tests I added back then were for features that looked
like intentional extensions and that seemed to work for at least
some use cases as far as I could tell. What I noticed didn't work
I created bugs for: 69338, 69696, and 69338 look related, but there
are others.
I think all these bugs should all be reviewed and a decision made
about what's intended to work and what continues to be accepted as
an accident and should be rejected. After that, we can adjust
the existing tests.
Martin