aboutsummaryrefslogtreecommitdiff
path: root/clang/test/AST/ByteCode
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/test/AST/ByteCode
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/test/AST/ByteCode')
-rw-r--r--clang/test/AST/ByteCode/literals.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/test/AST/ByteCode/literals.cpp b/clang/test/AST/ByteCode/literals.cpp
index 2fa7b69..699746c 100644
--- a/clang/test/AST/ByteCode/literals.cpp
+++ b/clang/test/AST/ByteCode/literals.cpp
@@ -910,7 +910,8 @@ namespace CompoundLiterals {
constexpr int f2(int *x =(int[]){1,2,3}) {
return x[0];
}
- constexpr int g = f2(); // Should evaluate to 1?
+ // Should evaluate to 1?
+ constexpr int g = f2(); // #g_decl
static_assert(g == 1, "");
// This example should be rejected because the lifetime of the compound
@@ -1347,7 +1348,10 @@ namespace NTTP {
namespace UnaryOpError {
constexpr int foo() {
int f = 0;
- ++g; // both-error {{use of undeclared identifier 'g'}}
+ ++g; // both-error {{use of undeclared identifier 'g'}} \
+ both-error {{cannot assign to variable 'g' with const-qualified type 'const int'}} \
+ both-note@#g_decl {{'CompoundLiterals::g' declared here}} \
+ both-note@#g_decl {{variable 'g' declared const here}}
return f;
}
}