Daily bump.
[gcc.git] / contrib / clang-format
blob4ed50ab6b26808589d8480d1fb69c6d637605c93
1 # Copyright (C) 2015-2024 Free Software Foundation, Inc.
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 3 of the License, or
6 # (at your option) any later version.
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 # GNU General Public License for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 # clang-format 7.0.1 is required
18 # To utilize the tool to lines just touched by a patch, use
19 # clang-format-diff script that is usually also packaged with clang-format.
21 # Example of usage:
22 # git diff -U0 --no-color | clang-format-diff -p1
23 # (here the tool will generate a patch)
24 # git diff -U0 --no-color | clang-format-diff -p1 -i
25 # (modifications are applied)
27 ---
28 Language: Cpp
29 AccessModifierOffset: -2
30 AlwaysBreakAfterReturnType: TopLevelDefinitions
31 BinPackArguments: true
32 BinPackParameters: true
33 BraceWrapping:
34   AfterClass: true
35   AfterCaseLabel: true
36   AfterControlStatement: true
37   AfterEnum: true
38   AfterFunction: true
39   AfterNamespace: false
40   AfterObjCDeclaration: true
41   AfterStruct: true
42   AfterUnion: true
43   BeforeCatch: true
44   BeforeElse: true
45   BeforeWhile: true
46   IndentBraces: true
47   SplitEmptyFunction: false
48 BreakBeforeBinaryOperators: All
49 BreakBeforeBraces: Custom
50 BreakBeforeTernaryOperators: true
51 ColumnLimit: 80
52 ConstructorInitializerIndentWidth: 2
53 ContinuationIndentWidth: 2
54 ForEachMacros: [
55 'FOR_ALL_BB_FN',
56 'FOR_ALL_EH_REGION',
57 'FOR_ALL_EH_REGION_AT',
58 'FOR_ALL_EH_REGION_FN',
59 'FOR_ALL_INHERITED_FIELDS',
60 'FOR_ALL_PREDICATES',
61 'FOR_BB_BETWEEN',
62 'FOR_BB_INSNS',
63 'FOR_BB_INSNS_REVERSE',
64 'FOR_BB_INSNS_REVERSE_SAFE',
65 'FOR_BB_INSNS_SAFE',
66 'FOR_BODY',
67 'FOR_COND',
68 'FOR_EACH_2XWIDER_MODE',
69 'FOR_EACH_ACTUAL_CHILD',
70 'FOR_EACH_AGGR_INIT_EXPR_ARG',
71 'FOR_EACH_ALIAS',
72 'FOR_EACH_ALLOCNO',
73 'FOR_EACH_ALLOCNO_CONFLICT',
74 'FOR_EACH_ALLOCNO_IN_ALLOCNO_SET',
75 'FOR_EACH_ALLOCNO_OBJECT',
76 'FOR_EACH_ARTIFICIAL_DEF',
77 'FOR_EACH_ARTIFICIAL_USE',
78 'FOR_EACH_BB',
79 'FOR_EACH_BB_FN',
80 'FOR_EACH_BB_IN_BITMAP',
81 'FOR_EACH_BB_IN_BITMAP_REV',
82 'FOR_EACH_BB_IN_REGION',
83 'FOR_EACH_BB_IN_SBITMAP',
84 'FOR_EACH_BB_REVERSE',
85 'FOR_EACH_BB_REVERSE_FN',
86 'FOR_EACH_BB_REVERSE_IN_REGION',
87 'FOR_EACH_BIT_IN_MINMAX_SET',
88 'FOR_EACH_BSI_IN_REVERSE',
89 'FOR_EACH_CALL_EXPR_ARG',
90 'FOR_EACH_CHILD',
91 'FOR_EACH_CLONE',
92 'FOR_EACH_CODE_MAPPING',
93 'FOR_EACH_COND_FN_PAIR',
94 'FOR_EACH_CONFLICT',
95 'FOR_EACH_CONST_CALL_EXPR_ARG',
96 'FOR_EACH_CONSTRUCTOR_ELT',
97 'FOR_EACH_CONSTRUCTOR_VALUE',
98 'FOR_EACH_COPY',
99 'FOR_EACH_DEF',
100 'FOR_EACH_DEFINED_FUNCTION',
101 'FOR_EACH_DEFINED_SYMBOL',
102 'FOR_EACH_DEFINED_VARIABLE',
103 'FOR_EACH_DEP',
104 'FOR_EACH_DEP_LINK',
105 'FOR_EACH_EDGE',
106 'FOR_EACH_ELEMENT',
107 'FOR_EACH_ELIM_GRAPH_PRED',
108 'FOR_EACH_ELIM_GRAPH_SUCC',
109 'FOR_EACH_EXPR',
110 'FOR_EACH_EXPR_1',
111 'FOR_EACH_EXPR_ID_IN_SET',
112 'FOR_EACH_FLOAT_OPERATOR',
113 'FOR_EACH_FP_TYPE',
114 'FOR_EACH_FUNCTION',
115 'FOREACH_FUNCTION_ARGS',
116 'FOREACH_FUNCTION_ARGS_PTR',
117 'FOR_EACH_FUNCTION_WITH_GIMPLE_BODY',
118 'FOR_EACH_GORI_EXPORT_NAME',
119 'FOR_EACH_GORI_IMPORT_NAME',
120 'FOR_EACH_HASH_TABLE_ELEMENT',
121 'FOR_EACH_HTAB_ELEMENT',
122 'FOR_EACH_IMM_USE_FAST',
123 'FOR_EACH_IMM_USE_ON_STMT',
124 'FOR_EACH_IMM_USE_SAFE',
125 'FOR_EACH_IMM_USE_STMT',
126 'FOR_EACH_INSN',
127 'FOR_EACH_INSN_1',
128 'FOR_EACH_INSN_DEF',
129 'FOR_EACH_INSN_EQ_USE',
130 'FOR_EACH_INSN_INFO_DEF',
131 'FOR_EACH_INSN_INFO_EQ_USE',
132 'FOR_EACH_INSN_INFO_MW',
133 'FOR_EACH_INSN_INFO_USE',
134 'FOR_EACH_INSN_USE',
135 'FOR_EACH_INT_OPERATOR',
136 'FOR_EACH_INT_TYPE',
137 'FOR_EACH_INV',
138 'FOR_EACH_LOAD_BROADCAST',
139 'FOR_EACH_LOAD_BROADCAST_IMM',
140 'FOR_EACH_LOCAL_DECL',
141 'FOR_EACH_LOG_LINK',
142 'FOR_EACH_LOOP',
143 'FOR_EACH_LOOP_BREAK',
144 'FOR_EACH_LOOP_FN',
145 'FOR_EACH_MODE',
146 'FOR_EACH_MODE_FROM',
147 'FOR_EACH_MODE_IN_CLASS',
148 'FOR_EACH_MODE_UNTIL',
149 'FOR_EACH_NEST_INFO',
150 'FOR_EACH_OBJECT',
151 'FOR_EACH_OBJECT_CONFLICT',
152 'FOR_EACH_OP',
153 'FOR_EACH_PARTITION_PAIR',
154 'FOR_EACH_PHI',
155 'FOR_EACH_PHI_ARG',
156 'FOR_EACH_PHI_OR_STMT_DEF',
157 'FOR_EACH_PHI_OR_STMT_USE',
158 'FOR_EACH_POP',
159 'FOR_EACH_PREF',
160 'FOR_EACH_REF',
161 'FOR_EACH_REFERENCED_VAR',
162 'FOR_EACH_REFERENCED_VAR_IN_BITMAP',
163 'FOR_EACH_REFERENCED_VAR_SAFE',
164 'FOR_EACH_REF_REV',
165 'FOR_EACH_REGNO',
166 'FOR_EACH_SCALAR',
167 'FOR_EACH_SIGNED_TYPE',
168 'FOR_EACH_SSA',
169 'FOR_EACH_SSA_DEF_OPERAND',
170 'FOR_EACH_SSA_MAYDEF_OPERAND',
171 'FOR_EACH_SSA_MUST_AND_MAY_DEF_OPERAND',
172 'FOR_EACH_SSA_MUSTDEF_OPERAND',
173 'FOR_EACH_SSA_NAME',
174 'FOR_EACH_SSA_TREE_OPERAND',
175 'FOR_EACH_SSA_USE_OPERAND',
176 'FOR_EACH_SSA_VDEF_OPERAND',
177 'FOR_EACH_STATIC_INITIALIZER',
178 'FOR_EACH_STATIC_VARIABLE',
179 'FOR_EACH_STMT_IN_REVERSE',
180 'FOR_EACH_SUBINSN',
181 'FOR_EACH_SUBRTX',
182 'FOR_EACH_SUBRTX_PTR',
183 'FOR_EACH_SUBRTX_VAR',
184 'FOR_EACH_SUCC',
185 'FOR_EACH_SUCC_1',
186 'FOR_EACH_SYMBOL',
187 'FOR_EACH_TYPE',
188 'FOR_EACH_UNSIGNED_TYPE',
189 'FOR_EACH_VALUE_ID_IN_SET',
190 'FOR_EACH_VARIABLE',
191 'FOR_EACH_VEC_ELT',
192 'FOR_EACH_VEC_ELT_FROM',
193 'FOR_EACH_VEC_ELT_REVERSE',
194 'FOR_EACH_VEC_SAFE_ELT',
195 'FOR_EACH_VEC_SAFE_ELT_REVERSE',
196 'FOR_EACH_WIDER_MODE',
197 'FOR_EXPR',
198 'FOR_INIT_STMT',
199 'FOR_SCOPE',
200 'EXECUTE_IF_SET_IN_BITMAP',
201 'EXECUTE_IF_AND_IN_BITMAP',
202 'EXECUTE_IF_AND_COMPL_IN_BITMAP',
203 'EXECUTE_IF_SET_IN_REG_SET',
204 'EXECUTE_IF_SET_IN_HARD_REG_SET',
205 'EXECUTE_IF_AND_COMPL_IN_REG_SET',
206 'EXECUTE_IF_AND_IN_REG_SET',
207 'EXECUTE_IF_SET_IN_SPARSESET'
209 IndentCaseLabels: false
210 NamespaceIndentation: None
211 PenaltyBreakBeforeFirstCallParameter: 100
212 PointerAlignment: Right
213 SortIncludes: false
214 SpaceAfterCStyleCast: true
215 SpaceBeforeParens: Always
216 SpacesBeforeTrailingComments: 1
217 UseTab: Always
218 AlignEscapedNewlines: Right
219 AlignTrailingComments: true
220 AllowShortFunctionsOnASingleLine: All
221 AlwaysBreakTemplateDeclarations: MultiLine
222 KeepEmptyLinesAtTheStartOfBlocks: false
223 Standard: Auto