llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-format Author: Owen Pan (owenca) <details> <summary>Changes</summary> Closes #<!-- -->95094. --- Full diff: https://github.com/llvm/llvm-project/pull/95503.diff 2 Files Affected: - (modified) clang/lib/Format/UnwrappedLineFormatter.cpp (+4-1) - (modified) clang/unittests/Format/FormatTest.cpp (+15) ``````````diff diff --git a/clang/lib/Format/UnwrappedLineFormatter.cpp b/clang/lib/Format/UnwrappedLineFormatter.cpp index 4d53361aaf333..80ab9827b050c 100644 --- a/clang/lib/Format/UnwrappedLineFormatter.cpp +++ b/clang/lib/Format/UnwrappedLineFormatter.cpp @@ -57,7 +57,10 @@ class LevelIndentTracker { /// Update the indent state given that \p Line is going to be formatted /// next. void nextLine(const AnnotatedLine &Line) { - Offset = getIndentOffset(*Line.First); + const auto *Tok = Line.First; + if (Tok->is(TT_AttributeMacro) && Tok->Next) + Tok = Tok->Next; + Offset = getIndentOffset(*Tok); // Update the indent level cache size so that we can rely on it // having the right size in adjustToUnmodifiedline. if (Line.Level >= IndentForLevel.size()) diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index fb57333858529..2ca85c7b70e65 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -12912,6 +12912,15 @@ TEST_F(FormatTest, FormatsAccessModifiers) { " int j;\n" "};", Style); + Style.AttributeMacros.push_back("FOO"); + Style.AttributeMacros.push_back("BAR"); + verifyFormat("struct foo {\n" + "FOO private:\n" + " int i;\n" + "BAR private:\n" + " int j;\n" + "};", + Style); FormatStyle NoEmptyLines = getLLVMStyle(); NoEmptyLines.MaxEmptyLinesToKeep = 0; @@ -26130,6 +26139,12 @@ TEST_F(FormatTest, IndentAccessModifiers) { " int i;\n" "};", Style); + Style.AttributeMacros.push_back("FOO"); + verifyFormat("class C {\n" + " FOO public:\n" + " int i;\n" + "};", + Style); } TEST_F(FormatTest, LimitlessStringsAndComments) { `````````` </details> https://github.com/llvm/llvm-project/pull/95503 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits