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?
Marek