diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2025-06-13 06:45:40 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-06-13 06:45:40 -0400 |
commit | 9eef4d1c5fa6b1bcbbe675c14ca8301d5d346f7b (patch) | |
tree | fa96a6126d9a464940832afd388fd4c34c664cb8 /clang/lib/Sema/Sema.cpp | |
parent | 541e5118ce570c9bed74cb5ff836f88cf1c0e644 (diff) | |
download | llvm-9eef4d1c5fa6b1bcbbe675c14ca8301d5d346f7b.zip llvm-9eef4d1c5fa6b1bcbbe675c14ca8301d5d346f7b.tar.gz llvm-9eef4d1c5fa6b1bcbbe675c14ca8301d5d346f7b.tar.bz2 |
Remove delayed typo expressions (#143423)
This removes the delayed typo correction functionality from Clang
(regular typo correction still remains) due to fragility of the
solution.
An RFC was posted here:
https://discourse.llvm.org/t/rfc-removing-support-for-delayed-typo-correction/86631
and while that RFC was asking for folks to consider stepping up to be
maintainers, and we did have a few new contributors show some interest,
experiments show that it's likely worth it to remove this functionality
entirely and focus efforts on improving regular typo correction.
This removal fixes ~20 open issues (quite possibly more), improves
compile time performance by roughly .3-.4%
(https://llvm-compile-time-tracker.com/?config=Overview&stat=instructions%3Au&remote=AaronBallman&sortBy=date),
and does not appear to regress diagnostic behavior in a way we wouldn't
find acceptable.
Fixes #142457
Fixes #139913
Fixes #138850
Fixes #137867
Fixes #137860
Fixes #107840
Fixes #93308
Fixes #69470
Fixes #59391
Fixes #58172
Fixes #46215
Fixes #45915
Fixes #45891
Fixes #44490
Fixes #36703
Fixes #32903
Fixes #23312
Fixes #69874
Diffstat (limited to 'clang/lib/Sema/Sema.cpp')
-rw-r--r-- | clang/lib/Sema/Sema.cpp | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/clang/lib/Sema/Sema.cpp b/clang/lib/Sema/Sema.cpp index 9826abc..42ebf2a 100644 --- a/clang/lib/Sema/Sema.cpp +++ b/clang/lib/Sema/Sema.cpp @@ -1227,15 +1227,6 @@ void Sema::ActOnEndOfTranslationUnitFragment(TUFragmentKind Kind) { assert(LateParsedInstantiations.empty() && "end of TU template instantiation should not create more " "late-parsed templates"); - - // Report diagnostics for uncorrected delayed typos. Ideally all of them - // should have been corrected by that time, but it is very hard to cover all - // cases in practice. - for (const auto &Typo : DelayedTypos) { - // We pass an empty TypoCorrection to indicate no correction was performed. - Typo.second.DiagHandler(TypoCorrection()); - } - DelayedTypos.clear(); } void Sema::ActOnEndOfTranslationUnit() { |