HighCommander4 wrote:

I put a print statement in `SymbolCollector::findIndirectConstructors()`, and 
one in `Sema::InstantiateFunctionDefinition()`, the codepath that creates the 
instantiation's body based on the primary template's body.

Output when running `FindReferences.ForwardingInIndex`:

> InstantiateFunctionDefinition(make_unique)
> findIndirectConstructors(make_unique)
> findIndirectConstructors(make_unique)

Output when running `BackgroundIndexTest.ConstructorForwarding`:

> findIndirectConstructors(make_unique)
> findIndirectConstructors(make_unique)
> InstantiateFunctionDefinition(make_unique)

So for some reason, during background indexing, the instantiation happens 
later, and in particular too late for when we'd need it. Very curious.

https://github.com/llvm/llvm-project/pull/169742
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to