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

Reply via email to