aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Sema/Sema.cpp
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2025-06-13 06:45:40 -0400
committerGitHub <noreply@github.com>2025-06-13 06:45:40 -0400
commit9eef4d1c5fa6b1bcbbe675c14ca8301d5d346f7b (patch)
treefa96a6126d9a464940832afd388fd4c34c664cb8 /clang/lib/Sema/Sema.cpp
parent541e5118ce570c9bed74cb5ff836f88cf1c0e644 (diff)
downloadllvm-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.cpp9
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() {