gcc/contrib/clang-format

222 lines
5.6 KiB
Plaintext
Raw Normal View History

2024-01-03 19:19:35 +08:00
# Copyright (C) 2015-2024 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# clang-format 7.0.1 is required
#
# To utilize the tool to lines just touched by a patch, use
# clang-format-diff script that is usually also packaged with clang-format.
#
# Example of usage:
# git diff -U0 --no-color | clang-format-diff -p1
# (here the tool will generate a patch)
# git diff -U0 --no-color | clang-format-diff -p1 -i
# (modifications are applied)
---
Language: Cpp
AccessModifierOffset: -2
AlwaysBreakAfterReturnType: TopLevel
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
AfterClass: true
AfterControlStatement: true
AfterEnum: true
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: true
BeforeCatch: true
BeforeElse: true
IndentBraces: true
SplitEmptyFunction: false
BreakBeforeBinaryOperators: All
BreakBeforeBraces: Custom
BreakBeforeTernaryOperators: true
ColumnLimit: 80
ConstructorInitializerIndentWidth: 2
ContinuationIndentWidth: 2
ForEachMacros: [
'FOR_ALL_BB_FN',
'FOR_ALL_EH_REGION',
'FOR_ALL_EH_REGION_AT',
'FOR_ALL_EH_REGION_FN',
'FOR_ALL_INHERITED_FIELDS',
'FOR_ALL_PREDICATES',
'FOR_BB_BETWEEN',
'FOR_BB_INSNS',
'FOR_BB_INSNS_REVERSE',
'FOR_BB_INSNS_REVERSE_SAFE',
'FOR_BB_INSNS_SAFE',
'FOR_BODY',
'FOR_COND',
'FOR_EACH_2XWIDER_MODE',
'FOR_EACH_ACTUAL_CHILD',
'FOR_EACH_AGGR_INIT_EXPR_ARG',
'FOR_EACH_ALIAS',
'FOR_EACH_ALLOCNO',
'FOR_EACH_ALLOCNO_CONFLICT',
'FOR_EACH_ALLOCNO_IN_ALLOCNO_SET',
'FOR_EACH_ALLOCNO_OBJECT',
'FOR_EACH_ARTIFICIAL_DEF',
'FOR_EACH_ARTIFICIAL_USE',
'FOR_EACH_BB',
'FOR_EACH_BB_FN',
'FOR_EACH_BB_IN_BITMAP',
'FOR_EACH_BB_IN_BITMAP_REV',
'FOR_EACH_BB_IN_REGION',
'FOR_EACH_BB_IN_SBITMAP',
'FOR_EACH_BB_REVERSE',
'FOR_EACH_BB_REVERSE_FN',
'FOR_EACH_BB_REVERSE_IN_REGION',
'FOR_EACH_BIT_IN_MINMAX_SET',
'FOR_EACH_BSI_IN_REVERSE',
'FOR_EACH_CALL_EXPR_ARG',
'FOR_EACH_CHILD',
'FOR_EACH_CLONE',
'FOR_EACH_CODE_MAPPING',
'FOR_EACH_COND_FN_PAIR',
'FOR_EACH_CONFLICT',
'FOR_EACH_CONST_CALL_EXPR_ARG',
'FOR_EACH_CONSTRUCTOR_ELT',
'FOR_EACH_CONSTRUCTOR_VALUE',
'FOR_EACH_COPY',
'FOR_EACH_DEF',
'FOR_EACH_DEFINED_FUNCTION',
'FOR_EACH_DEFINED_SYMBOL',
'FOR_EACH_DEFINED_VARIABLE',
'FOR_EACH_DEP',
'FOR_EACH_DEP_LINK',
'FOR_EACH_EDGE',
'FOR_EACH_ELEMENT',
'FOR_EACH_ELIM_GRAPH_PRED',
'FOR_EACH_ELIM_GRAPH_SUCC',
'FOR_EACH_EXPR',
'FOR_EACH_EXPR_1',
'FOR_EACH_EXPR_ID_IN_SET',
'FOR_EACH_FLOAT_OPERATOR',
'FOR_EACH_FP_TYPE',
'FOR_EACH_FUNCTION',
'FOREACH_FUNCTION_ARGS',
'FOREACH_FUNCTION_ARGS_PTR',
'FOR_EACH_FUNCTION_WITH_GIMPLE_BODY',
'FOR_EACH_GORI_EXPORT_NAME',
'FOR_EACH_GORI_IMPORT_NAME',
'FOR_EACH_HASH_TABLE_ELEMENT',
'FOR_EACH_HTAB_ELEMENT',
'FOR_EACH_IMM_USE_FAST',
'FOR_EACH_IMM_USE_ON_STMT',
'FOR_EACH_IMM_USE_SAFE',
'FOR_EACH_IMM_USE_STMT',
'FOR_EACH_INSN',
'FOR_EACH_INSN_1',
'FOR_EACH_INSN_DEF',
'FOR_EACH_INSN_EQ_USE',
'FOR_EACH_INSN_INFO_DEF',
'FOR_EACH_INSN_INFO_EQ_USE',
'FOR_EACH_INSN_INFO_MW',
'FOR_EACH_INSN_INFO_USE',
'FOR_EACH_INSN_USE',
'FOR_EACH_INT_OPERATOR',
'FOR_EACH_INT_TYPE',
'FOR_EACH_INV',
'FOR_EACH_LOAD_BROADCAST',
'FOR_EACH_LOAD_BROADCAST_IMM',
'FOR_EACH_LOCAL_DECL',
'FOR_EACH_LOG_LINK',
'FOR_EACH_LOOP',
'FOR_EACH_LOOP_BREAK',
'FOR_EACH_LOOP_FN',
'FOR_EACH_MODE',
'FOR_EACH_MODE_FROM',
'FOR_EACH_MODE_IN_CLASS',
'FOR_EACH_MODE_UNTIL',
'FOR_EACH_NEST_INFO',
'FOR_EACH_OBJECT',
'FOR_EACH_OBJECT_CONFLICT',
'FOR_EACH_OP',
'FOR_EACH_PARTITION_PAIR',
'FOR_EACH_PHI',
'FOR_EACH_PHI_ARG',
'FOR_EACH_PHI_OR_STMT_DEF',
'FOR_EACH_PHI_OR_STMT_USE',
'FOR_EACH_POP',
'FOR_EACH_PREF',
'FOR_EACH_REF',
'FOR_EACH_REFERENCED_VAR',
'FOR_EACH_REFERENCED_VAR_IN_BITMAP',
'FOR_EACH_REFERENCED_VAR_SAFE',
'FOR_EACH_REF_REV',
'FOR_EACH_REGNO',
'FOR_EACH_SCALAR',
'FOR_EACH_SIGNED_TYPE',
'FOR_EACH_SSA',
'FOR_EACH_SSA_DEF_OPERAND',
'FOR_EACH_SSA_MAYDEF_OPERAND',
'FOR_EACH_SSA_MUST_AND_MAY_DEF_OPERAND',
'FOR_EACH_SSA_MUSTDEF_OPERAND',
'FOR_EACH_SSA_NAME',
'FOR_EACH_SSA_TREE_OPERAND',
'FOR_EACH_SSA_USE_OPERAND',
'FOR_EACH_SSA_VDEF_OPERAND',
'FOR_EACH_STATIC_INITIALIZER',
'FOR_EACH_STATIC_VARIABLE',
'FOR_EACH_STMT_IN_REVERSE',
'FOR_EACH_SUBINSN',
'FOR_EACH_SUBRTX',
'FOR_EACH_SUBRTX_PTR',
'FOR_EACH_SUBRTX_VAR',
'FOR_EACH_SUCC',
'FOR_EACH_SUCC_1',
'FOR_EACH_SYMBOL',
'FOR_EACH_TYPE',
'FOR_EACH_UNSIGNED_TYPE',
'FOR_EACH_VALUE_ID_IN_SET',
'FOR_EACH_VARIABLE',
'FOR_EACH_VEC_ELT',
'FOR_EACH_VEC_ELT_FROM',
'FOR_EACH_VEC_ELT_REVERSE',
'FOR_EACH_VEC_SAFE_ELT',
'FOR_EACH_VEC_SAFE_ELT_REVERSE',
'FOR_EACH_WIDER_MODE',
'FOR_EXPR',
'FOR_INIT_STMT',
'FOR_SCOPE',
'EXECUTE_IF_SET_IN_BITMAP',
'EXECUTE_IF_AND_IN_BITMAP',
'EXECUTE_IF_AND_COMPL_IN_BITMAP',
'EXECUTE_IF_SET_IN_REG_SET',
'EXECUTE_IF_SET_IN_HARD_REG_SET',
'EXECUTE_IF_AND_COMPL_IN_REG_SET',
'EXECUTE_IF_AND_IN_REG_SET',
'EXECUTE_IF_SET_IN_SPARSESET'
]
IndentCaseLabels: false
NamespaceIndentation: None
PenaltyBreakBeforeFirstCallParameter: 100
PointerAlignment: Right
SortIncludes: false
SpaceAfterCStyleCast: true
SpaceBeforeParens: Always
SpacesBeforeTrailingComments: 1
UseTab: Always
AlignEscapedNewlines: Right
AlignTrailingComments: true
AllowShortFunctionsOnASingleLine: All
AlwaysBreakTemplateDeclarations: MultiLine
KeepEmptyLinesAtTheStartOfBlocks: false
Standard: Auto