On Thu, Sep 10, 2020 at 01:31:13PM -0400, Nathan Sidwell wrote:
> On 9/10/20 12:58 PM, Marek Polacek via Gcc-patches wrote:
> > On Thu, Sep 10, 2020 at 12:39:36PM -0400, Nathan Sidwell wrote:
> > > 
> > > We need to record whether template function-scope static decls are
> > > constinit.  That's currently held on the var's TEMPLATE_INFO data.
> > > But I want to get rid of such decl's template header as they're not
> > > really templates, and they're never instantiated separately from their
> > > containing function's definition.  (Just like auto vars, which don't
> > > get them for instance).
> > > 
> > > This patch moves the flag into a spare decl_lang_flag.
> > > 
> > >          gcc/cp/
> > >          * cp-tree.h (TINFO_VAR_DECLARED_CONSTINIT): Replace with ...
> > >          (DECL_DECLARED_CONSTINIT_P): ... this.
> > >          * decl.c (start_decl): No need to retrofit_lang_decl for 
> > > constinit
> > >          flag.
> > >          (cp_finish_decl): Use DECL_DECLARED_CONSTINIT_P.
> > >          * pt.c (tsubst_decl): No need to handle constinit flag
> > >          propagation.
> > >          (tsubst_expr): Or here.
> > 
> > Is there any need for LOOKUP_CONSTINIT anymore, if we can simply check
> > DECL_DECLARED_CONSTINIT_P?  (Not saying you need to clean that up.)
> 
> That'd be nice.  Those LOOKUP_$FOO flags are getting less and less lookupy!

Ok, I'll look into that, I think it should be possible.  Yep, they deserve 
cleaning up!

Marek

Reply via email to