[llvm-branch-commits] [clang] release/21.x: [clang-format] Handle C digit separators (#158418) (PR #158512)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Sun Sep 14 14:33:02 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-format
Author: None (llvmbot)
<details>
<summary>Changes</summary>
Backport 30f4781eef567b99214e02137a57c7ac91279a48
Requested by: @<!-- -->owenca
---
Full diff: https://github.com/llvm/llvm-project/pull/158512.diff
2 Files Affected:
- (modified) clang/lib/Format/Format.cpp (+1)
- (modified) clang/unittests/Format/TokenAnnotatorTest.cpp (+7)
``````````diff
diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp
index 513fcfcd41258..161a6c4b47e7f 100644
--- a/clang/lib/Format/Format.cpp
+++ b/clang/lib/Format/Format.cpp
@@ -4043,6 +4043,7 @@ LangOptions getFormattingLangOpts(const FormatStyle &Style) {
switch (Style.Language) {
case FormatStyle::LK_C:
LangOpts.C11 = 1;
+ LangOpts.C23 = 1;
break;
case FormatStyle::LK_Cpp:
case FormatStyle::LK_ObjC:
diff --git a/clang/unittests/Format/TokenAnnotatorTest.cpp b/clang/unittests/Format/TokenAnnotatorTest.cpp
index af94841c820a4..0a3dc946e8c1c 100644
--- a/clang/unittests/Format/TokenAnnotatorTest.cpp
+++ b/clang/unittests/Format/TokenAnnotatorTest.cpp
@@ -4097,6 +4097,13 @@ TEST_F(TokenAnnotatorTest, UTF8StringLiteral) {
EXPECT_TOKEN(Tokens[1], tok::utf8_string_literal, TT_Unknown);
}
+TEST_F(TokenAnnotatorTest, C23DigitSeparator) {
+ auto Tokens = annotate("return 1'000;", getLLVMStyle(FormatStyle::LK_C));
+ ASSERT_EQ(Tokens.size(), 4u) << Tokens;
+ EXPECT_EQ(Tokens[1]->TokenText, "1'000");
+ EXPECT_TOKEN(Tokens[2], tok::semi, TT_Unknown);
+}
+
TEST_F(TokenAnnotatorTest, IdentifierPackage) {
auto Tokens = annotate("auto package;");
ASSERT_EQ(Tokens.size(), 4u) << Tokens;
``````````
</details>
https://github.com/llvm/llvm-project/pull/158512
More information about the llvm-branch-commits
mailing list