xref: /openbsd-src/gnu/llvm/libcxx/.clang-format (revision 4bdff4bed0e3d54e55670334c7d0077db4170f86)
1BasedOnStyle: LLVM
2
3AlignAfterOpenBracket: Align
4AlignConsecutiveAssignments: Consecutive
5AlignConsecutiveBitFields: Consecutive
6AlignEscapedNewlines: Right
7AlignOperands: AlignAfterOperator
8AlignTrailingComments: true
9AllowAllArgumentsOnNextLine: true
10AllowAllParametersOfDeclarationOnNextLine: true
11AllowShortFunctionsOnASingleLine: true
12AllowShortLambdasOnASingleLine: All
13AttributeMacros: ['_LIBCPP_HIDE_FROM_ABI',
14                  '_LIBCPP_CONSTEXPR',
15                  '_LIBCPP_CONSTEXPR_SINCE_CXX14',
16                  '_LIBCPP_CONSTEXPR_SINCE_CXX17',
17                  '_LIBCPP_CONSTEXPR_SINCE_CXX20',
18                  '_LIBCPP_CONSTEXPR_SINCE_CXX23',
19                  '_LIBCPP_ALIGNOF',
20                  '_ALIGNAS_TYPE',
21                  '_ALIGNAS',
22                  '_LIBCPP_NORETURN',
23                  '_LIBCPP_ALWAYS_INLINE',
24                  '_LIBCPP_DISABLE_EXTENTSION_WARNING',
25                  '_LIBCPP_HIDDEN',
26                  '_LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS',
27                  '_LIBCPP_FUNC_VIS',
28                  '_LIBCPP_TYPE_VIS',
29                  '_LIBCPP_TEMPLATE_VIS',
30                  '_LIBCPP_TEMPLATE_DATA_VIS',
31                  '_LIBCPP_EXPORTED_FROM_ABI',
32                  '_LIBCPP_OVERRIDABLE_FUNC_VIS',
33                  '_LIBCPP_EXCEPTION_ABI',
34                  '_LIBCPP_ENUM_VIS',
35                  '_LIBCPP_EXTERN_TEMPLATE_TYPE_VIS',
36                  '_LIBCPP_INTERNAL_LINKAGE',
37                  '_LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION',
38                  '_LIBCPP_HIDE_FROM_ABI_AFTER_V1',
39                  '_LIBCPP_INLINE_VISIBILITY',
40                  '_LIBCPP_CONSTEVAL',
41                  '_LIBCPP_NOALIAS',
42                  '_LIBCPP_USING_IF_EXISTS',
43                  '_LIBCPP_DEPRECATED',
44                  '_LIBCPP_DEPRECATED_IN_CXX11',
45                  '_LIBCPP_DEPRECATED_IN_CXX14',
46                  '_LIBCPP_DEPRECATED_IN_CXX17',
47                  '_LIBCPP_DEPRECATED_IN_CXX20',
48                  '_LIBCPP_NODISCARD',
49                  '_LIBCPP_NODISCARD_EXT',
50                  '_LIBCPP_NO_DESTROY',
51                  '_LIBCPP_WEAK',
52                  '_LIBCPP_CONSTINIT',
53                  '_LIBCPP_FALLTHROUGH',
54                  '_LIBCPP_STANDALONE_DEBUG',
55                  '_LIBCPP_NO_UNIQUE_ADDRESS',
56                 ]
57BinPackArguments: false
58BinPackParameters: false
59BreakBeforeConceptDeclarations: true
60BreakInheritanceList: BeforeColon
61EmptyLineAfterAccessModifier: Never
62EmptyLineBeforeAccessModifier: Always
63IndentWrappedFunctionNames: false
64IndentRequires: true
65InsertTrailingCommas: Wrapped
66KeepEmptyLinesAtTheStartOfBlocks: false
67MaxEmptyLinesToKeep: 1
68PackConstructorInitializers: NextLine
69
70PenaltyIndentedWhitespace: 2
71
72Language: Cpp
73Standard: c++20
74SpacesInAngles: Leave
75
76AlwaysBreakTemplateDeclarations: true
77PointerAlignment: Left
78
79
80# Disable formatting options which may break tests.
81SortIncludes: false
82ReflowComments: false
83
84# libc++'s preferred indentions of preprocessor statements.
85IndentPPDirectives: AfterHash
86
87# libc++ has some long names so we need more than the 80 column limit imposed by LLVM style, for sensible formatting
88ColumnLimit: 120
89