[clang] [Clang] Eagerly instantiate used constexpr function upon definition. (PR #73463)

Richard Smith via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 28 10:42:48 PST 2023


zygoloid wrote:

> > I _think_ the new map should be unnecessary: `FunctionTemplateDecl` and `VarTemplateDecl` already have a list of specializations that you can walk and check the point of instantiation and template specialization kind to see if there's a pending instantiation.
> 
> I don't think that's viable for non-template but templated entities like member function in a class template. Am I missing something?

Hmm, good point, we don't have a way to walk the specializations of a templated function that's not a function template. (You'd need to walk all the instantiations of the enclosing template and check to see if the corresponding member function has a pending instantiation, or something like that, which sounds painful. Friends defined in class templates would probably be especially problematic.)

Let's use your map approach then :-)

https://github.com/llvm/llvm-project/pull/73463


More information about the cfe-commits mailing list