2018-09-17 Richard Biener <rguenther@suse.de>
[official-gcc.git] / contrib / clang-format
blobd734001c06f3759073fa6bfc670f974563f14c68
1 # Copyright (C) 2015 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 3.8+ (Mon Nov 16) is required
18 # To utilize the tool to lines just touched by a patch, use
19 # clang-format-diff.py script, which can be downloaded here:
20 # https://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format/clang-format-diff.py
22 ---
23 Language: Cpp
24 AccessModifierOffset: -2
25 AlwaysBreakAfterDefinitionReturnType: All
26 BinPackArguments: true
27 BinPackParameters: true
28 BraceWrapping:
29   AfterClass: true
30   AfterControlStatement: true
31   AfterEnum: true
32   AfterFunction: true
33   AfterNamespace: false
34   AfterObjCDeclaration: true
35   AfterStruct: true
36   AfterUnion: true
37   BeforeCatch: true
38   BeforeElse: true
39   IndentBraces: true
40 BreakBeforeBinaryOperators: All
41 BreakBeforeBraces: Custom
42 BreakBeforeTernaryOperators: true
43 ColumnLimit: 80
44 ConstructorInitializerIndentWidth: 2
45 ContinuationIndentWidth: 2
46 ForEachMacros: [
47 'FOR_ALL_BB_FN',
48 'FOR_ALL_EH_REGION',
49 'FOR_ALL_EH_REGION_AT',
50 'FOR_ALL_EH_REGION_FN',
51 'FOR_ALL_INHERITED_FIELDS',
52 'FOR_ALL_PREDICATES',
53 'FOR_BB_BETWEEN',
54 'FOR_BB_INSNS',
55 'FOR_BB_INSNS_REVERSE',
56 'FOR_BB_INSNS_REVERSE_SAFE',
57 'FOR_BB_INSNS_SAFE',
58 'FOR_BODY',
59 'FOR_COND',
60 'FOR_EACH_AGGR_INIT_EXPR_ARG',
61 'FOR_EACH_ALIAS',
62 'FOR_EACH_ALLOCNO',
63 'FOR_EACH_ALLOCNO_OBJECT',
64 'FOR_EACH_ARTIFICIAL_DEF',
65 'FOR_EACH_ARTIFICIAL_USE',
66 'FOR_EACH_BB_FN',
67 'FOR_EACH_BB_REVERSE_FN',
68 'FOR_EACH_BIT_IN_MINMAX_SET',
69 'FOR_EACH_CALL_EXPR_ARG',
70 'FOR_EACH_CLONE',
71 'FOR_EACH_CONST_CALL_EXPR_ARG',
72 'FOR_EACH_CONSTRUCTOR_ELT',
73 'FOR_EACH_CONSTRUCTOR_VALUE',
74 'FOR_EACH_COPY',
75 'FOR_EACH_DEF',
76 'FOR_EACH_DEFINED_FUNCTION',
77 'FOR_EACH_DEFINED_SYMBOL',
78 'FOR_EACH_DEFINED_VARIABLE',
79 'FOR_EACH_DEP',
80 'FOR_EACH_EDGE',
81 'FOR_EACH_EXPR',
82 'FOR_EACH_EXPR_1',
83 'FOR_EACH_FUNCTION',
84 'FOREACH_FUNCTION_ARGS',
85 'FOREACH_FUNCTION_ARGS_PTR',
86 'FOR_EACH_FUNCTION_WITH_GIMPLE_BODY',
87 'FOR_EACH_HASH_TABLE_ELEMENT',
88 'FOR_EACH_IMM_USE_FAST',
89 'FOR_EACH_IMM_USE_ON_STMT',
90 'FOR_EACH_IMM_USE_STMT',
91 'FOR_EACH_INSN',
92 'FOR_EACH_INSN_1',
93 'FOR_EACH_INSN_DEF',
94 'FOR_EACH_INSN_EQ_USE',
95 'FOR_EACH_INSN_INFO_DEF',
96 'FOR_EACH_INSN_INFO_EQ_USE',
97 'FOR_EACH_INSN_INFO_MW',
98 'FOR_EACH_INSN_INFO_USE',
99 'FOR_EACH_INSN_USE',
100 'FOR_EACH_LOCAL_DECL',
101 'FOR_EACH_LOOP',
102 'FOR_EACH_LOOP_FN',
103 'FOR_EACH_OBJECT',
104 'FOR_EACH_OBJECT_CONFLICT',
105 'FOR_EACH_PHI_ARG',
106 'FOR_EACH_PHI_OR_STMT_DEF',
107 'FOR_EACH_PHI_OR_STMT_USE',
108 'FOR_EACH_PREF',
109 'FOR_EACH_SCALAR',
110 'FOR_EACH_SSA_DEF_OPERAND',
111 'FOR_EACH_SSA_TREE_OPERAND',
112 'FOR_EACH_SSA_USE_OPERAND',
113 'FOR_EACH_STATIC_INITIALIZER',
114 'FOR_EACH_SUBRTX',
115 'FOR_EACH_SUBRTX_PTR',
116 'FOR_EACH_SUBRTX_VAR',
117 'FOR_EACH_SUCC',
118 'FOR_EACH_SUCC_1',
119 'FOR_EACH_SYMBOL',
120 'FOR_EACH_VARIABLE',
121 'FOR_EACH_VEC_ELT',
122 'FOR_EACH_VEC_ELT_FROM',
123 'FOR_EACH_VEC_ELT_REVERSE',
124 'FOR_EACH_VEC_SAFE_ELT',
125 'FOR_EACH_VEC_SAFE_ELT_REVERSE',
126 'FOR_EXPR',
127 'FOR_INIT_STMT',
128 'FOR_SCOPE'
130 IndentCaseLabels: false
131 NamespaceIndentation: None
132 PenaltyBreakBeforeFirstCallParameter: 100
133 PointerAlignment: Right
134 SortIncludes: false
135 SpaceAfterCStyleCast: true
136 SpaceBeforeParens: Always
137 SpacesBeforeTrailingComments: 1
138 UseTab: Always