Skip to content

Commit 492cb7b

Browse files
committed
[clang-format] Fix a crash in qualifier alignment
Related to llvm#54513.
1 parent 5679a3c commit 492cb7b

File tree

2 files changed

+3
-0
lines changed

2 files changed

+3
-0
lines changed

clang/lib/Format/QualifierAlignmentFixer.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,8 @@ const FormatToken *LeftRightQualifierAlignmentFixer::analyzeLeft(
303303

304304
if (LastQual && Qual != LastQual && Qual->is(QualifierType)) {
305305
rotateTokens(SourceMgr, Fixes, Tok, Qual, /*Left=*/true);
306+
if (!Qual->Next)
307+
return Tok;
306308
Tok = Qual->Next;
307309
} else if (Tok->startsSequence(tok::identifier, QualifierType)) {
308310
if (Tok->Next->Next && Tok->Next->Next->isOneOf(tok::identifier, tok::star,

clang/unittests/Format/QualifierFixerTest.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -816,6 +816,7 @@ TEST_F(QualifierFixerTest, NoOpQualifierReplacements) {
816816
EXPECT_EQ(ReplacementCount, 0);
817817
verifyFormat("static const uint32 foo[] = {0, 31};", Style);
818818
verifyFormat("#define MACRO static const", Style);
819+
verifyFormat("using sc = static const", Style);
819820
EXPECT_EQ(ReplacementCount, 0);
820821
}
821822

0 commit comments

Comments
 (0)