[clang] [C++20] [Modules] Instantiate pending instantiations when GMF ends (PR #126842)
Matheus Izvekov via cfe-commits
cfe-commits at lists.llvm.org
Wed Feb 19 03:31:20 PST 2025
================
@@ -1104,9 +1104,13 @@ void Sema::ActOnStartOfTranslationUnit() {
}
void Sema::ActOnEndOfTranslationUnitFragment(TUFragmentKind Kind) {
- // No explicit actions are required at the end of the global module fragment.
- if (Kind == TUFragmentKind::Global)
+ if (Kind == TUFragmentKind::Global) {
+ // Perform Pending Instantiations at the end of global module fragment so
+ // that the module ownership of TU-level decls won't get messed.
+ llvm::TimeTraceScope TimeScope("PerformPendingInstantiations");
+ PerformPendingInstantiations();
----------------
mizvekov wrote:
I think instantiations should have the same DeclContext as the pattern as well, and we are not careful and consistent about this. So taking care of that should also take care of this problem, right?
https://github.com/llvm/llvm-project/pull/126842
More information about the cfe-commits
mailing list