diff options
author | Owen Pan <owenpiano@gmail.com> | 2024-12-21 17:16:29 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-21 17:16:29 -0800 |
commit | 40acaa394fa235796c2d98de87380887c59d5448 (patch) | |
tree | ec3338d697990347b482fbb1ec0789af6a43d4b9 | |
parent | 3fa5b52714b3dadbc5fddfc4ae1e7c423a652962 (diff) | |
download | llvm-40acaa394fa235796c2d98de87380887c59d5448.zip llvm-40acaa394fa235796c2d98de87380887c59d5448.tar.gz llvm-40acaa394fa235796c2d98de87380887c59d5448.tar.bz2 |
[clang-format] Fix a crash in `QualifierAlignment: Right` (#120821)
Fixes #120793.
-rw-r--r-- | clang/lib/Format/QualifierAlignmentFixer.cpp | 2 | ||||
-rw-r--r-- | clang/unittests/Format/QualifierFixerTest.cpp | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Format/QualifierAlignmentFixer.cpp b/clang/lib/Format/QualifierAlignmentFixer.cpp index 593f8ef..530b2dd 100644 --- a/clang/lib/Format/QualifierAlignmentFixer.cpp +++ b/clang/lib/Format/QualifierAlignmentFixer.cpp @@ -348,7 +348,7 @@ const FormatToken *LeftRightQualifierAlignmentFixer::analyzeRight( } } - if (Next->is(tok::kw_auto)) + if (Next && Next->is(tok::kw_auto)) TypeToken = Next; // Place the Qualifier at the end of the list of qualifiers. diff --git a/clang/unittests/Format/QualifierFixerTest.cpp b/clang/unittests/Format/QualifierFixerTest.cpp index f9255c6..9ed5674 100644 --- a/clang/unittests/Format/QualifierFixerTest.cpp +++ b/clang/unittests/Format/QualifierFixerTest.cpp @@ -531,6 +531,11 @@ TEST_F(QualifierFixerTest, RightQualifier) { verifyFormat("float (C::*const p)(int);", Style); verifyFormat("float (C::*p)(int) const;", Style); verifyFormat("float const (C::*p)(int);", "const float (C::*p)(int);", Style); + + Style.BreakBeforeBraces = FormatStyle::BS_Custom; + Style.BraceWrapping.AfterFunction = true; + verifyFormat("auto foo() -> T const { return bar; }", + "auto foo() -> const T { return bar; }", Style); } TEST_F(QualifierFixerTest, LeftQualifier) { |