https://github.com/llvmbot created https://github.com/llvm/llvm-project/pull/158512
Backport 30f4781eef567b99214e02137a57c7ac91279a48 Requested by: @owenca >From 45684d48d66be8e36b5df7bc99d2833ce58b2a97 Mon Sep 17 00:00:00 2001 From: owenca <owenpi...@gmail.com> Date: Sun, 14 Sep 2025 14:20:59 -0700 Subject: [PATCH] [clang-format] Handle C digit separators (#158418) Fixes #158413 (cherry picked from commit 30f4781eef567b99214e02137a57c7ac91279a48) --- clang/lib/Format/Format.cpp | 1 + clang/unittests/Format/TokenAnnotatorTest.cpp | 7 +++++++ 2 files changed, 8 insertions(+) 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; _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits