Skip to content

Commit 1fab8bf

Browse files
committed
[clang-format] Handle C digit separators
Fixes #158413
1 parent 5109361 commit 1fab8bf

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

clang/lib/Format/Format.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4087,6 +4087,7 @@ LangOptions getFormattingLangOpts(const FormatStyle &Style) {
40874087
switch (Style.Language) {
40884088
case FormatStyle::LK_C:
40894089
LangOpts.C11 = 1;
4090+
LangOpts.C23 = 1;
40904091
break;
40914092
case FormatStyle::LK_Cpp:
40924093
case FormatStyle::LK_ObjC:

clang/unittests/Format/TokenAnnotatorTest.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4105,6 +4105,13 @@ TEST_F(TokenAnnotatorTest, UTF8StringLiteral) {
41054105
EXPECT_TOKEN(Tokens[1], tok::utf8_string_literal, TT_Unknown);
41064106
}
41074107

4108+
TEST_F(TokenAnnotatorTest, C23DigitSeparator) {
4109+
auto Tokens = annotate("return 1'000;", getLLVMStyle(FormatStyle::LK_C));
4110+
ASSERT_EQ(Tokens.size(), 4u) << Tokens;
4111+
EXPECT_EQ(Tokens[1]->TokenText, "1'000");
4112+
EXPECT_TOKEN(Tokens[2], tok::semi, TT_Unknown);
4113+
}
4114+
41084115
TEST_F(TokenAnnotatorTest, IdentifierPackage) {
41094116
auto Tokens = annotate("auto package;");
41104117
ASSERT_EQ(Tokens.size(), 4u) << Tokens;

0 commit comments

Comments
 (0)