https://github.com/owenca created https://github.com/llvm/llvm-project/pull/120821
Fixes #120793. >From 9a2a33fe4568f0b344e9093b99c87ad1a0f7e8a4 Mon Sep 17 00:00:00 2001 From: Owen Pan <owenpi...@gmail.com> Date: Fri, 20 Dec 2024 20:02:26 -0800 Subject: [PATCH] [clang-format] Fix a crash in `QualifierAlignment: Right` Fixes #120793. --- clang/lib/Format/QualifierAlignmentFixer.cpp | 2 +- clang/unittests/Format/QualifierFixerTest.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/clang/lib/Format/QualifierAlignmentFixer.cpp b/clang/lib/Format/QualifierAlignmentFixer.cpp index 593f8efff25aa9..530b2dd538cee0 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 f9255c6e4c7088..9ed567445eb07e 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) { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits