annotate clang/unittests/Format/BracesRemoverTest.cpp @ 236:c4bab56944e8 llvm-original

LLVM 16
author kono
date Wed, 09 Nov 2022 17:45:10 +0900
parents
children 1f2b6ac9f198
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
236
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
1 //===- unittest/Format/BracesRemoverTest.cpp ------------------------------===//
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
2 //
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
4 // See https://llvm.org/LICENSE.txt for license information.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
6 //
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
7 //===----------------------------------------------------------------------===//
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
8
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
9 #include "clang/Format/Format.h"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
10
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
11 #include "../Tooling/ReplacementTest.h"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
12 #include "FormatTestUtils.h"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
13
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
14 #define DEBUG_TYPE "braces-remover-test"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
15
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
16 namespace clang {
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
17 namespace format {
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
18 namespace {
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
19
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
20 // TODO:
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
21 // Refactor the class declaration, which is copied from BracesInserterTest.cpp.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
22 class BracesRemoverTest : public ::testing::Test {
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
23 protected:
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
24 std::string format(llvm::StringRef Code, const FormatStyle &Style,
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
25 const std::vector<tooling::Range> &Ranges) {
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
26 LLVM_DEBUG(llvm::errs() << "---\n");
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
27 LLVM_DEBUG(llvm::errs() << Code << "\n\n");
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
28 auto NonEmptyRanges = Ranges;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
29 if (Ranges.empty())
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
30 NonEmptyRanges = {1, tooling::Range(0, Code.size())};
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
31 FormattingAttemptStatus Status;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
32 tooling::Replacements Replaces =
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
33 reformat(Style, Code, NonEmptyRanges, "<stdin>", &Status);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
34 EXPECT_EQ(true, Status.FormatComplete) << Code << "\n\n";
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
35 ReplacementCount = Replaces.size();
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
36 auto Result = applyAllReplacements(Code, Replaces);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
37 EXPECT_TRUE(static_cast<bool>(Result));
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
38 LLVM_DEBUG(llvm::errs() << "\n" << *Result << "\n\n");
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
39 return *Result;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
40 }
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
41
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
42 void _verifyFormat(const char *File, int Line, llvm::StringRef Expected,
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
43 llvm::StringRef Code,
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
44 const FormatStyle &Style = getLLVMStyle(),
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
45 const std::vector<tooling::Range> &Ranges = {}) {
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
46 testing::ScopedTrace t(File, Line, ::testing::Message() << Code.str());
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
47 EXPECT_EQ(Expected.str(), format(Expected, Style, Ranges))
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
48 << "Expected code is not stable";
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
49 EXPECT_EQ(Expected.str(), format(Code, Style, Ranges));
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
50 if (Style.Language == FormatStyle::LK_Cpp && Ranges.empty()) {
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
51 // Objective-C++ is a superset of C++, so everything checked for C++
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
52 // needs to be checked for Objective-C++ as well.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
53 FormatStyle ObjCStyle = Style;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
54 ObjCStyle.Language = FormatStyle::LK_ObjC;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
55 EXPECT_EQ(Expected.str(), format(test::messUp(Code), ObjCStyle, Ranges));
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
56 }
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
57 }
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
58
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
59 void _verifyFormat(const char *File, int Line, llvm::StringRef Code,
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
60 const FormatStyle &Style = getLLVMStyle(),
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
61 const std::vector<tooling::Range> &Ranges = {}) {
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
62 _verifyFormat(File, Line, Code, Code, Style, Ranges);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
63 }
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
64
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
65 int ReplacementCount;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
66 };
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
67
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
68 #define verifyFormat(...) _verifyFormat(__FILE__, __LINE__, __VA_ARGS__)
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
69
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
70 TEST_F(BracesRemoverTest, RemoveBraces) {
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
71 FormatStyle Style = getLLVMStyle();
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
72 Style.RemoveBracesLLVM = true;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
73
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
74 // The following test cases are fully-braced versions of the examples at
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
75 // "llvm.org/docs/CodingStandards.html#don-t-use-braces-on-simple-single-
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
76 // statement-bodies-of-if-else-loop-statements".
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
77
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
78 // Omit the braces since the body is simple and clearly associated with the
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
79 // `if`.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
80 verifyFormat("if (isa<FunctionDecl>(D))\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
81 " handleFunctionDecl(D);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
82 "else if (isa<VarDecl>(D))\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
83 " handleVarDecl(D);",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
84 "if (isa<FunctionDecl>(D)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
85 " handleFunctionDecl(D);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
86 "} else if (isa<VarDecl>(D)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
87 " handleVarDecl(D);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
88 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
89 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
90
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
91 // Here we document the condition itself and not the body.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
92 verifyFormat("if (isa<VarDecl>(D)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
93 " // It is necessary that we explain the situation with this\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
94 " // surprisingly long comment, so it would be unclear\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
95 " // without the braces whether the following statement is in\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
96 " // the scope of the `if`.\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
97 " // Because the condition is documented, we can't really\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
98 " // hoist this comment that applies to the body above the\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
99 " // `if`.\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
100 " handleOtherDecl(D);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
101 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
102 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
103
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
104 // Use braces on the outer `if` to avoid a potential dangling `else`
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
105 // situation.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
106 verifyFormat("if (isa<VarDecl>(D)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
107 " if (shouldProcessAttr(A))\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
108 " handleAttr(A);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
109 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
110 "if (isa<VarDecl>(D)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
111 " if (shouldProcessAttr(A)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
112 " handleAttr(A);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
113 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
114 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
115 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
116
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
117 // Use braces for the `if` block to keep it uniform with the `else` block.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
118 verifyFormat("if (isa<FunctionDecl>(D)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
119 " handleFunctionDecl(D);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
120 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
121 " // In this `else` case, it is necessary that we explain the\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
122 " // situation with this surprisingly long comment, so it\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
123 " // would be unclear without the braces whether the\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
124 " // following statement is in the scope of the `if`.\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
125 " handleOtherDecl(D);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
126 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
127 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
128
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
129 // This should also omit braces. The `for` loop contains only a single
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
130 // statement, so it shouldn't have braces. The `if` also only contains a
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
131 // single simple statement (the `for` loop), so it also should omit braces.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
132 verifyFormat("if (isa<FunctionDecl>(D))\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
133 " for (auto *A : D.attrs())\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
134 " handleAttr(A);",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
135 "if (isa<FunctionDecl>(D)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
136 " for (auto *A : D.attrs()) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
137 " handleAttr(A);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
138 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
139 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
140 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
141
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
142 // Use braces for a `do-while` loop and its enclosing statement.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
143 verifyFormat("if (Tok->is(tok::l_brace)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
144 " do {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
145 " Tok = Tok->Next;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
146 " } while (Tok);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
147 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
148 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
149
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
150 // Use braces for the outer `if` since the nested `for` is braced.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
151 verifyFormat("if (isa<FunctionDecl>(D)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
152 " for (auto *A : D.attrs()) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
153 " // In this `for` loop body, it is necessary that we\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
154 " // explain the situation with this surprisingly long\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
155 " // comment, forcing braces on the `for` block.\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
156 " handleAttr(A);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
157 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
158 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
159 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
160
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
161 // Use braces on the outer block because there are more than two levels of
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
162 // nesting.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
163 verifyFormat("if (isa<FunctionDecl>(D)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
164 " for (auto *A : D.attrs())\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
165 " for (ssize_t i : llvm::seq<ssize_t>(count))\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
166 " handleAttrOnDecl(D, A, i);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
167 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
168 "if (isa<FunctionDecl>(D)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
169 " for (auto *A : D.attrs()) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
170 " for (ssize_t i : llvm::seq<ssize_t>(count)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
171 " handleAttrOnDecl(D, A, i);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
172 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
173 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
174 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
175 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
176
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
177 // Use braces on the outer block because of a nested `if`; otherwise the
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
178 // compiler would warn: `add explicit braces to avoid dangling else`
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
179 verifyFormat("if (auto *D = dyn_cast<FunctionDecl>(D)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
180 " if (shouldProcess(D))\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
181 " handleVarDecl(D);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
182 " else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
183 " markAsIgnored(D);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
184 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
185 "if (auto *D = dyn_cast<FunctionDecl>(D)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
186 " if (shouldProcess(D)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
187 " handleVarDecl(D);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
188 " } else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
189 " markAsIgnored(D);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
190 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
191 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
192 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
193
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
194 verifyFormat("// clang-format off\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
195 "// comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
196 "while (i > 0) { --i; }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
197 "// clang-format on\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
198 "while (j < 0)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
199 " ++j;",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
200 "// clang-format off\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
201 "// comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
202 "while (i > 0) { --i; }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
203 "// clang-format on\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
204 "while (j < 0) { ++j; }",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
205 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
206
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
207 verifyFormat("if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
208 " b; // comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
209 "else if (c)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
210 " d; /* comment */\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
211 "else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
212 " e;",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
213 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
214 " b; // comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
215 "} else if (c) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
216 " d; /* comment */\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
217 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
218 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
219 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
220 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
221
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
222 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
223 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
224 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
225 "} else if (d) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
226 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
227 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
228 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
229
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
230 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
231 "#undef NDEBUG\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
232 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
233 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
234 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
235 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
236 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
237
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
238 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
239 " // comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
240 "} else if (b) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
241 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
242 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
243 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
244
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
245 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
246 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
247 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
248 " { c; }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
249 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
250 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
251
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
252 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
253 " if (b) // comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
254 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
255 "} else if (d) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
256 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
257 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
258 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
259 " if (b) { // comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
260 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
261 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
262 "} else if (d) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
263 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
264 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
265 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
266
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
267 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
268 " if (b) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
269 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
270 " // comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
271 " } else if (d) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
272 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
273 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
274 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
275 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
276
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
277 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
278 " if (b)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
279 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
280 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
281 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
282 " if (b) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
283 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
284 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
285 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
286 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
287
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
288 verifyFormat("if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
289 " if (b)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
290 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
291 " else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
292 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
293 "else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
294 " e;",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
295 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
296 " if (b) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
297 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
298 " } else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
299 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
300 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
301 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
302 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
303 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
304 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
305
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
306 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
307 " // comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
308 " if (b)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
309 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
310 " else if (d)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
311 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
312 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
313 " g;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
314 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
315 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
316 " // comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
317 " if (b) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
318 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
319 " } else if (d) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
320 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
321 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
322 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
323 " g;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
324 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
325 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
326
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
327 verifyFormat("if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
328 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
329 "else if (c)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
330 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
331 "else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
332 " e;",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
333 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
334 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
335 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
336 " if (c) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
337 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
338 " } else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
339 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
340 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
341 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
342 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
343
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
344 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
345 " if (b)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
346 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
347 " else if (d)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
348 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
349 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
350 " g;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
351 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
352 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
353 " if (b)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
354 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
355 " else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
356 " if (d)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
357 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
358 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
359 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
360 " g;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
361 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
362 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
363
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
364 verifyFormat("if (isa<VarDecl>(D)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
365 " for (auto *A : D.attrs())\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
366 " if (shouldProcessAttr(A))\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
367 " handleAttr(A);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
368 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
369 "if (isa<VarDecl>(D)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
370 " for (auto *A : D.attrs()) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
371 " if (shouldProcessAttr(A)) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
372 " handleAttr(A);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
373 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
374 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
375 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
376 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
377
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
378 verifyFormat("do {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
379 " ++I;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
380 "} while (hasMore() && Filter(*I));",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
381 "do { ++I; } while (hasMore() && Filter(*I));", Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
382
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
383 verifyFormat("if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
384 " if (b)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
385 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
386 " else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
387 " if (d)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
388 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
389 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
390 "else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
391 " f;",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
392 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
393
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
394 verifyFormat("if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
395 " if (b)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
396 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
397 " else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
398 " if (d)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
399 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
400 " else if (f)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
401 " g;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
402 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
403 "else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
404 " h;",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
405 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
406
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
407 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
408 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
409 "} else if (c) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
410 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
411 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
412 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
413 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
414 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
415 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
416 " if (c) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
417 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
418 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
419 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
420 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
421 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
422
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
423 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
424 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
425 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
426 "} else if (d) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
427 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
428 " f;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
429 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
430 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
431 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
432 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
433 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
434 " if (d) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
435 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
436 " f;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
437 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
438 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
439 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
440
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
441 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
442 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
443 "} else if (c) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
444 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
445 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
446 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
447 " f;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
448 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
449 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
450 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
451 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
452 " if (c) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
453 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
454 " } else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
455 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
456 " f;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
457 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
458 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
459 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
460
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
461 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
462 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
463 "} else if (c) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
464 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
465 "} else if (e) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
466 " f;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
467 " g;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
468 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
469 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
470 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
471 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
472 " if (c) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
473 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
474 " } else if (e) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
475 " f;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
476 " g;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
477 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
478 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
479 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
480
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
481 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
482 " if (b)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
483 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
484 " else if (d) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
485 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
486 " f;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
487 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
488 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
489 " g;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
490 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
491 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
492 " if (b)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
493 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
494 " else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
495 " if (d) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
496 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
497 " f;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
498 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
499 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
500 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
501 " g;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
502 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
503 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
504
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
505 verifyFormat("if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
506 " if (b)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
507 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
508 " else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
509 " if (d) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
510 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
511 " f;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
512 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
513 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
514 "else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
515 " g;",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
516 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
517
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
518 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
519 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
520 " c;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
521 "} else { // comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
522 " if (d) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
523 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
524 " f;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
525 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
526 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
527 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
528
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
529 verifyFormat("if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
530 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
531 "else if (c)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
532 " while (d)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
533 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
534 "// comment",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
535 "if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
536 "{\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
537 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
538 "} else if (c) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
539 " while (d) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
540 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
541 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
542 "}\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
543 "// comment",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
544 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
545
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
546 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
547 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
548 "} else if (c) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
549 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
550 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
551 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
552 " g;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
553 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
554 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
555
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
556 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
557 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
558 "} else if (c) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
559 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
560 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
561 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
562 "} // comment",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
563 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
564
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
565 verifyFormat("int abs = [](int i) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
566 " if (i >= 0)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
567 " return i;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
568 " return -i;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
569 "};",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
570 "int abs = [](int i) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
571 " if (i >= 0) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
572 " return i;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
573 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
574 " return -i;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
575 "};",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
576 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
577
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
578 verifyFormat("if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
579 " foo();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
580 "else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
581 " bar();",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
582 "if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
583 "{\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
584 " foo();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
585 "}\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
586 "else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
587 "{\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
588 " bar();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
589 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
590 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
591
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
592 verifyFormat("if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
593 " foo();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
594 "// comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
595 "else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
596 " bar();",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
597 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
598 " foo();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
599 "}\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
600 "// comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
601 "else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
602 " bar();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
603 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
604 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
605
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
606 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
607 " if (b)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
608 " c = 1; // comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
609 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
610 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
611 " if (b) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
612 " c = 1; // comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
613 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
614 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
615 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
616
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
617 verifyFormat("if (a) // comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
618 " b = 1;",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
619 "if (a) // comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
620 "{\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
621 " b = 1;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
622 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
623 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
624
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
625 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
626 "Label:\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
627 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
628 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
629
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
630 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
631 "Label:\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
632 " f();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
633 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
634 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
635
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
636 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
637 " f();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
638 "Label:\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
639 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
640 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
641
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
642 verifyFormat("if consteval {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
643 " f();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
644 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
645 " g();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
646 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
647 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
648
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
649 verifyFormat("if not consteval {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
650 " f();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
651 "} else if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
652 " g();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
653 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
654 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
655
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
656 verifyFormat("if !consteval {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
657 " g();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
658 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
659 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
660
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
661 verifyFormat("while (0)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
662 " if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
663 " return b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
664 "return a;",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
665 "while (0) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
666 " if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
667 " return b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
668 "}}\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
669 "return a;",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
670 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
671
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
672 Style.ColumnLimit = 65;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
673 verifyFormat("if (condition) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
674 " ff(Indices,\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
675 " [&](unsigned LHSI, unsigned RHSI) { return true; });\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
676 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
677 " ff(Indices,\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
678 " [&](unsigned LHSI, unsigned RHSI) { return true; });\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
679 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
680 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
681
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
682 Style.ColumnLimit = 20;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
683
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
684 verifyFormat("int i;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
685 "#define FOO(a, b) \\\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
686 " while (a) { \\\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
687 " b; \\\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
688 " }",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
689 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
690
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
691 verifyFormat("int ab = [](int i) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
692 " if (i > 0) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
693 " i = 12345678 -\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
694 " i;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
695 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
696 " return i;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
697 "};",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
698 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
699
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
700 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
701 " b = c + // 1 -\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
702 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
703 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
704 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
705
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
706 verifyFormat("if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
707 " b = c >= 0 ? d\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
708 " : e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
709 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
710 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
711 " b = c >= 0 ? d : e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
712 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
713 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
714
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
715 verifyFormat("if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
716 " b = c > 0 ? d : e;",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
717 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
718 " b = c > 0 ? d : e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
719 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
720 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
721
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
722 verifyFormat("if (-b >=\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
723 " c) { // Keep.\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
724 " foo();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
725 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
726 " bar();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
727 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
728 "if (-b >= c) { // Keep.\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
729 " foo();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
730 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
731 " bar();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
732 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
733 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
734
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
735 verifyFormat("if (a) /* Remove. */\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
736 " f();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
737 "else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
738 " g();",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
739 "if (a) <% /* Remove. */\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
740 " f();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
741 "%> else <%\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
742 " g();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
743 "%>",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
744 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
745
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
746 verifyFormat("while (\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
747 " !i--) <% // Keep.\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
748 " foo();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
749 "%>",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
750 "while (!i--) <% // Keep.\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
751 " foo();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
752 "%>",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
753 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
754
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
755 verifyFormat("for (int &i : chars)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
756 " ++i;",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
757 "for (int &i :\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
758 " chars) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
759 " ++i;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
760 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
761 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
762
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
763 verifyFormat("if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
764 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
765 "else if (c) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
766 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
767 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
768 "} else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
769 " f = g(foo, bar,\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
770 " baz);",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
771 "if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
772 " b;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
773 "else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
774 " if (c) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
775 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
776 " e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
777 " } else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
778 " f = g(foo, bar, baz);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
779 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
780 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
781
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
782 Style.ColumnLimit = 0;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
783 verifyFormat("if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
784 " b234567890223456789032345678904234567890 = "
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
785 "c234567890223456789032345678904234567890;",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
786 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
787 " b234567890223456789032345678904234567890 = "
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
788 "c234567890223456789032345678904234567890;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
789 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
790 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
791
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
792 Style.BreakBeforeBraces = FormatStyle::BS_Custom;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
793 Style.BraceWrapping.AfterControlStatement = FormatStyle::BWACS_Always;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
794 Style.BraceWrapping.BeforeElse = true;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
795
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
796 Style.ColumnLimit = 65;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
797
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
798 verifyFormat("if (condition)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
799 "{\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
800 " ff(Indices,\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
801 " [&](unsigned LHSI, unsigned RHSI) { return true; });\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
802 "}\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
803 "else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
804 "{\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
805 " ff(Indices,\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
806 " [&](unsigned LHSI, unsigned RHSI) { return true; });\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
807 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
808 "if (condition) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
809 " ff(Indices,\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
810 " [&](unsigned LHSI, unsigned RHSI) { return true; });\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
811 "} else {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
812 " ff(Indices,\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
813 " [&](unsigned LHSI, unsigned RHSI) { return true; });\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
814 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
815 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
816
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
817 verifyFormat("if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
818 "{ //\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
819 " foo();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
820 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
821 "if (a) { //\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
822 " foo();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
823 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
824 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
825
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
826 verifyFormat("if (a) // comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
827 " b = 1;",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
828 "if (a) // comment\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
829 "{\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
830 " b = 1;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
831 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
832 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
833
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
834 Style.ColumnLimit = 20;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
835
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
836 verifyFormat("int ab = [](int i) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
837 " if (i > 0)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
838 " {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
839 " i = 12345678 -\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
840 " i;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
841 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
842 " return i;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
843 "};",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
844 "int ab = [](int i) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
845 " if (i > 0) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
846 " i = 12345678 -\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
847 " i;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
848 " }\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
849 " return i;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
850 "};",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
851 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
852
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
853 verifyFormat("if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
854 "{\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
855 " b = c + // 1 -\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
856 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
857 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
858 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
859 " b = c + // 1 -\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
860 " d;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
861 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
862 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
863
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
864 verifyFormat("if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
865 "{\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
866 " b = c >= 0 ? d\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
867 " : e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
868 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
869 "if (a) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
870 " b = c >= 0 ? d : e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
871 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
872 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
873
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
874 verifyFormat("if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
875 " b = c > 0 ? d : e;",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
876 "if (a)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
877 "{\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
878 " b = c > 0 ? d : e;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
879 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
880 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
881
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
882 verifyFormat("if (foo + bar <=\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
883 " baz)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
884 "{\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
885 " func(arg1, arg2);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
886 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
887 "if (foo + bar <= baz) {\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
888 " func(arg1, arg2);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
889 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
890 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
891
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
892 verifyFormat("if (foo + bar < baz)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
893 " func(arg1, arg2);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
894 "else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
895 " func();",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
896 "if (foo + bar < baz)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
897 "<%\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
898 " func(arg1, arg2);\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
899 "%>\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
900 "else\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
901 "<%\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
902 " func();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
903 "%>",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
904 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
905
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
906 verifyFormat("while (i--)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
907 "<% // Keep.\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
908 " foo();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
909 "%>",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
910 "while (i--) <% // Keep.\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
911 " foo();\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
912 "%>",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
913 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
914
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
915 verifyFormat("for (int &i : chars)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
916 " ++i;",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
917 "for (int &i : chars)\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
918 "{\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
919 " ++i;\n"
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
920 "}",
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
921 Style);
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
922 }
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
923
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
924 } // namespace
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
925 } // namespace format
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
926 } // namespace clang