blob: 77ffa23435cc06419f47013e4e7d011f59f2a25f [file] [log] [blame]
Eric Fiseliere93265a2016-11-15 20:21:30 +00001BasedOnStyle: LLVM
Eric Fiselierb5d9f442016-11-23 01:18:56 +00002
Nikolas Klauser77017e12022-06-14 20:09:03 +02003AlignAfterOpenBracket: 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',
Nikolas Klauser8b1c5062022-08-19 13:08:01 +020015 '_LIBCPP_CONSTEXPR_SINCE_CXX14',
16 '_LIBCPP_CONSTEXPR_SINCE_CXX17',
17 '_LIBCPP_CONSTEXPR_SINCE_CXX20',
18 '_LIBCPP_CONSTEXPR_SINCE_CXX23',
Nikolas Klauser77017e12022-06-14 20:09:03 +020019 '_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
Nikolas Klauser77017e12022-06-14 20:09:03 +020068PackConstructorInitializers: NextLine
69
Nikolas Klauser10610db2022-07-28 10:32:02 +020070PenaltyIndentedWhitespace: 2
Nikolas Klauser77017e12022-06-14 20:09:03 +020071
Eric Fiselierb5d9f442016-11-23 01:18:56 +000072Language: Cpp
Mark de Weverdb51a552021-10-28 17:48:27 +020073Standard: c++20
74SpacesInAngles: Leave
Eric Fiselierb5d9f442016-11-23 01:18:56 +000075
76AlwaysBreakTemplateDeclarations: true
Saleem Abdulrasool2f31a162017-01-03 04:23:52 +000077PointerAlignment: Left
Eric Fiselier1500ba72016-12-09 03:17:25 +000078
Nikolas Klauser9c730392022-06-13 17:25:23 +020079
Eric Fiselier1500ba72016-12-09 03:17:25 +000080# Disable formatting options which may break tests.
81SortIncludes: false
Eric Fiseliera473abc2016-12-09 03:18:45 +000082ReflowComments: false
Christopher Di Bella29e72922021-03-31 22:46:28 +000083
Mark de Wever795628c2021-09-15 18:29:22 +020084# libc++'s preferred indentions of preprocessor statements.
85IndentPPDirectives: AfterHash
86
Christopher Di Bella29e72922021-03-31 22:46:28 +000087# libc++ has some long names so we need more than the 80 column limit imposed by LLVM style, for sensible formatting
88ColumnLimit: 120