]> git.ipfire.org Git - thirdparty/gcc.git/blame - contrib/clang-format
Daily bump.
[thirdparty/gcc.git] / contrib / clang-format
CommitLineData
6441eb6d 1# Copyright (C) 2015-2025 Free Software Foundation, Inc.
daa53f38
ML
2#
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.
7#
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.
12#
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/>.
15
ba7c8cb5 16# clang-format 7.0.1 is required
daa53f38
ML
17#
18# To utilize the tool to lines just touched by a patch, use
ba7c8cb5
ML
19# clang-format-diff script that is usually also packaged with clang-format.
20#
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)
daa53f38
ML
26
27---
28Language: Cpp
29AccessModifierOffset: -2
0c83096f 30AlwaysBreakAfterReturnType: TopLevelDefinitions
daa53f38
ML
31BinPackArguments: true
32BinPackParameters: true
33BraceWrapping:
34 AfterClass: true
78833419 35 AfterCaseLabel: true
daa53f38
ML
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
0c83096f 45 BeforeWhile: true
daa53f38 46 IndentBraces: true
ba7c8cb5 47 SplitEmptyFunction: false
daa53f38
ML
48BreakBeforeBinaryOperators: All
49BreakBeforeBraces: Custom
50BreakBeforeTernaryOperators: true
51ColumnLimit: 80
52ConstructorInitializerIndentWidth: 2
53ContinuationIndentWidth: 2
e06b54c2
ML
54ForEachMacros: [
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',
81e20a6e
SSF
68'FOR_EACH_2XWIDER_MODE',
69'FOR_EACH_ACTUAL_CHILD',
e06b54c2
ML
70'FOR_EACH_AGGR_INIT_EXPR_ARG',
71'FOR_EACH_ALIAS',
72'FOR_EACH_ALLOCNO',
81e20a6e
SSF
73'FOR_EACH_ALLOCNO_CONFLICT',
74'FOR_EACH_ALLOCNO_IN_ALLOCNO_SET',
e06b54c2
ML
75'FOR_EACH_ALLOCNO_OBJECT',
76'FOR_EACH_ARTIFICIAL_DEF',
77'FOR_EACH_ARTIFICIAL_USE',
81e20a6e 78'FOR_EACH_BB',
e06b54c2 79'FOR_EACH_BB_FN',
81e20a6e
SSF
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',
e06b54c2 85'FOR_EACH_BB_REVERSE_FN',
81e20a6e 86'FOR_EACH_BB_REVERSE_IN_REGION',
e06b54c2 87'FOR_EACH_BIT_IN_MINMAX_SET',
81e20a6e 88'FOR_EACH_BSI_IN_REVERSE',
e06b54c2 89'FOR_EACH_CALL_EXPR_ARG',
81e20a6e 90'FOR_EACH_CHILD',
e06b54c2 91'FOR_EACH_CLONE',
81e20a6e
SSF
92'FOR_EACH_CODE_MAPPING',
93'FOR_EACH_COND_FN_PAIR',
94'FOR_EACH_CONFLICT',
e06b54c2
ML
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',
81e20a6e 104'FOR_EACH_DEP_LINK',
e06b54c2 105'FOR_EACH_EDGE',
81e20a6e
SSF
106'FOR_EACH_ELEMENT',
107'FOR_EACH_ELIM_GRAPH_PRED',
108'FOR_EACH_ELIM_GRAPH_SUCC',
e06b54c2
ML
109'FOR_EACH_EXPR',
110'FOR_EACH_EXPR_1',
81e20a6e
SSF
111'FOR_EACH_EXPR_ID_IN_SET',
112'FOR_EACH_FLOAT_OPERATOR',
113'FOR_EACH_FP_TYPE',
e06b54c2
ML
114'FOR_EACH_FUNCTION',
115'FOREACH_FUNCTION_ARGS',
116'FOREACH_FUNCTION_ARGS_PTR',
117'FOR_EACH_FUNCTION_WITH_GIMPLE_BODY',
81e20a6e
SSF
118'FOR_EACH_GORI_EXPORT_NAME',
119'FOR_EACH_GORI_IMPORT_NAME',
e06b54c2 120'FOR_EACH_HASH_TABLE_ELEMENT',
81e20a6e 121'FOR_EACH_HTAB_ELEMENT',
e06b54c2
ML
122'FOR_EACH_IMM_USE_FAST',
123'FOR_EACH_IMM_USE_ON_STMT',
81e20a6e 124'FOR_EACH_IMM_USE_SAFE',
e06b54c2
ML
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',
81e20a6e
SSF
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',
e06b54c2 140'FOR_EACH_LOCAL_DECL',
81e20a6e 141'FOR_EACH_LOG_LINK',
e06b54c2 142'FOR_EACH_LOOP',
81e20a6e 143'FOR_EACH_LOOP_BREAK',
e06b54c2 144'FOR_EACH_LOOP_FN',
81e20a6e
SSF
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',
e06b54c2
ML
150'FOR_EACH_OBJECT',
151'FOR_EACH_OBJECT_CONFLICT',
81e20a6e
SSF
152'FOR_EACH_OP',
153'FOR_EACH_PARTITION_PAIR',
154'FOR_EACH_PHI',
e06b54c2
ML
155'FOR_EACH_PHI_ARG',
156'FOR_EACH_PHI_OR_STMT_DEF',
157'FOR_EACH_PHI_OR_STMT_USE',
81e20a6e 158'FOR_EACH_POP',
e06b54c2 159'FOR_EACH_PREF',
81e20a6e
SSF
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',
e06b54c2 166'FOR_EACH_SCALAR',
81e20a6e
SSF
167'FOR_EACH_SIGNED_TYPE',
168'FOR_EACH_SSA',
e06b54c2 169'FOR_EACH_SSA_DEF_OPERAND',
81e20a6e
SSF
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',
e06b54c2
ML
174'FOR_EACH_SSA_TREE_OPERAND',
175'FOR_EACH_SSA_USE_OPERAND',
81e20a6e 176'FOR_EACH_SSA_VDEF_OPERAND',
e06b54c2 177'FOR_EACH_STATIC_INITIALIZER',
81e20a6e
SSF
178'FOR_EACH_STATIC_VARIABLE',
179'FOR_EACH_STMT_IN_REVERSE',
180'FOR_EACH_SUBINSN',
e06b54c2
ML
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',
81e20a6e
SSF
187'FOR_EACH_TYPE',
188'FOR_EACH_UNSIGNED_TYPE',
189'FOR_EACH_VALUE_ID_IN_SET',
e06b54c2
ML
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',
81e20a6e 196'FOR_EACH_WIDER_MODE',
e06b54c2
ML
197'FOR_EXPR',
198'FOR_INIT_STMT',
d42f3ad0
LD
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'
e06b54c2 208]
daa53f38
ML
209IndentCaseLabels: false
210NamespaceIndentation: None
211PenaltyBreakBeforeFirstCallParameter: 100
212PointerAlignment: Right
213SortIncludes: false
214SpaceAfterCStyleCast: true
215SpaceBeforeParens: Always
216SpacesBeforeTrailingComments: 1
217UseTab: Always
ba7c8cb5
ML
218AlignEscapedNewlines: Right
219AlignTrailingComments: true
220AllowShortFunctionsOnASingleLine: All
221AlwaysBreakTemplateDeclarations: MultiLine
222KeepEmptyLinesAtTheStartOfBlocks: false
172178c0 223Standard: Auto