diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2026-01-10 12:21:56 +0100 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2026-01-10 12:21:56 +0100 |
| commit | 3e481a3afe1344dbb4a0960f34fc89dcdc9f1d61 (patch) | |
| tree | 9606cd4f686746a547bf31ba2a72777952aacf01 /clang/lib/Format/QualifierAlignmentFixer.cpp | |
| parent | 294ba569803972323a64670451a82af53c660541 (diff) | |
Vendor import of llvm-project branch release/21.x llvmorg-21.1.8-0-g2078da43e25a, a.k.a. 21.1.8 release.vendor/llvm-project/llvmorg-21.1.8-0-g2078da43e25avendor/llvm-project/release-21.x
Diffstat (limited to 'clang/lib/Format/QualifierAlignmentFixer.cpp')
| -rw-r--r-- | clang/lib/Format/QualifierAlignmentFixer.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/clang/lib/Format/QualifierAlignmentFixer.cpp b/clang/lib/Format/QualifierAlignmentFixer.cpp index 441a37a4902b..cc59dbd13621 100644 --- a/clang/lib/Format/QualifierAlignmentFixer.cpp +++ b/clang/lib/Format/QualifierAlignmentFixer.cpp @@ -182,8 +182,11 @@ const FormatToken *LeftRightQualifierAlignmentFixer::analyzeRight( // We only need to think about streams that begin with a qualifier. if (Tok->isNot(QualifierType)) return Tok; + + const auto *Next = Tok->getNextNonComment(); + // Don't concern yourself if nothing follows the qualifier. - if (!Tok->Next) + if (!Next) return Tok; // Skip qualifiers to the left to find what preceeds the qualifiers. @@ -247,9 +250,15 @@ const FormatToken *LeftRightQualifierAlignmentFixer::analyzeRight( }(); // Find the last qualifier to the right. - const FormatToken *LastQual = Tok; - while (isQualifier(LastQual->getNextNonComment())) - LastQual = LastQual->getNextNonComment(); + const auto *LastQual = Tok; + for (; isQualifier(Next); Next = Next->getNextNonComment()) + LastQual = Next; + + if (!LastQual || !Next || + (LastQual->isOneOf(tok::kw_const, tok::kw_volatile) && + Next->isOneOf(Keywords.kw_override, Keywords.kw_final))) { + return Tok; + } // If this qualifier is to the right of a type or pointer do a partial sort // and return. |
