On 9/4/19 3:06 PM, Marek Polacek wrote:
On Wed, Sep 04, 2019 at 04:00:24PM -0400, Jason Merrill wrote:
On 9/3/19 4:08 PM, Marek Polacek wrote:
First constinit bug report (yay?). The problem is that while I made sure
that constinit variable templates work as they should, I clearly neglected
ordinary static variables declared constinit in function templates.
Hmm, right, locals don't get DECL_TEMPLATE_INFO.
And if I create a new, clear one, it crashes. But I was able to work around
that by remembering if we saw constinit.
As an aside, I'm concerned that if we're required to handle
// Foo.h
struct Foo {
constinit static int x;
};
// Foo.cpp
int Foo::x = 42;
we might need to resurrect DECL_DECLARED_CONSTINIT_P...
Or use an (internal) attribute?
Luckily it would appear that we won't be required to handle that case.
Any comments on the patch itself?
The patch is OK.
Jason