xref: /llvm-project/libcxx/.clang-format (revision 90bc60c5a82a596327ddc6956436abf146b44a7a)
17004d666SEric FiselierBasedOnStyle: LLVM
25a6e6adbSLouis Dionne# Note that we don't specify the language in this file because some files are
35a6e6adbSLouis Dionne# detected as Cpp, but others are detected as ObjC and we want this formatting
45a6e6adbSLouis Dionne# to apply to all types of files.
555b31b4eSEric Fiselier
6e7c72d69SNikolas KlauserAlignAfterOpenBracket: Align
7e7c72d69SNikolas KlauserAlignConsecutiveAssignments: Consecutive
8e7c72d69SNikolas KlauserAlignConsecutiveBitFields: Consecutive
9e7c72d69SNikolas KlauserAlignEscapedNewlines: Right
10e7c72d69SNikolas KlauserAlignOperands: AlignAfterOperator
11e7c72d69SNikolas KlauserAlignTrailingComments: true
12e7c72d69SNikolas KlauserAllowAllArgumentsOnNextLine: true
13e7c72d69SNikolas KlauserAllowAllParametersOfDeclarationOnNextLine: true
14e7c72d69SNikolas KlauserAllowShortFunctionsOnASingleLine: true
15e7c72d69SNikolas KlauserAllowShortLambdasOnASingleLine: All
16b7bc8033SLouis DionneAttributeMacros: [
17b7bc8033SLouis Dionne                  '_ALIGNAS_TYPE',
18b7bc8033SLouis Dionne                  '_ALIGNAS',
19b7bc8033SLouis Dionne                  '_LIBCPP_ALIGNOF',
20b7bc8033SLouis Dionne                  '_LIBCPP_ALWAYS_INLINE',
215146b57bSNikolas Klauser                  '_LIBCPP_CONSTEXPR_SINCE_CXX14',
225146b57bSNikolas Klauser                  '_LIBCPP_CONSTEXPR_SINCE_CXX17',
235146b57bSNikolas Klauser                  '_LIBCPP_CONSTEXPR_SINCE_CXX20',
245146b57bSNikolas Klauser                  '_LIBCPP_CONSTEXPR_SINCE_CXX23',
25b7bc8033SLouis Dionne                  '_LIBCPP_CONSTEXPR',
268b73be5fSNikolas Klauser                  '_LIBCPP_CONSTINIT',
27e7c72d69SNikolas Klauser                  '_LIBCPP_DEPRECATED_IN_CXX11',
28e7c72d69SNikolas Klauser                  '_LIBCPP_DEPRECATED_IN_CXX14',
29e7c72d69SNikolas Klauser                  '_LIBCPP_DEPRECATED_IN_CXX17',
30e7c72d69SNikolas Klauser                  '_LIBCPP_DEPRECATED_IN_CXX20',
31ed276dffSHristo Hristov                  '_LIBCPP_DEPRECATED_IN_CXX23',
32b7bc8033SLouis Dionne                  '_LIBCPP_DEPRECATED',
33*90bc60c5SLouis Dionne                  '_LIBCPP_DISABLE_EXTENSION_WARNING',
34b7bc8033SLouis Dionne                  '_LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION',
35b7bc8033SLouis Dionne                  '_LIBCPP_EXPORTED_FROM_ABI',
36b7bc8033SLouis Dionne                  '_LIBCPP_EXTERN_TEMPLATE_TYPE_VIS',
37e7c72d69SNikolas Klauser                  '_LIBCPP_FALLTHROUGH',
38b7bc8033SLouis Dionne                  '_LIBCPP_HIDDEN',
39b7bc8033SLouis Dionne                  '_LIBCPP_HIDE_FROM_ABI_AFTER_V1',
40b7bc8033SLouis Dionne                  '_LIBCPP_HIDE_FROM_ABI',
41b7bc8033SLouis Dionne                  '_LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS',
42b7bc8033SLouis Dionne                  '_LIBCPP_NO_SANITIZE',
43e7c72d69SNikolas Klauser                  '_LIBCPP_NO_UNIQUE_ADDRESS',
44b7bc8033SLouis Dionne                  '_LIBCPP_NOALIAS',
45b7bc8033SLouis Dionne                  '_LIBCPP_OVERRIDABLE_FUNC_VIS',
46b7bc8033SLouis Dionne                  '_LIBCPP_STANDALONE_DEBUG',
47b7bc8033SLouis Dionne                  '_LIBCPP_TEMPLATE_DATA_VIS',
48b7bc8033SLouis Dionne                  '_LIBCPP_TEMPLATE_VIS',
495b666cf1SLouis Dionne                  '_LIBCPP_THREAD_SAFETY_ANNOTATION',
50b7bc8033SLouis Dionne                  '_LIBCPP_USING_IF_EXISTS',
51b7bc8033SLouis Dionne                  '_LIBCPP_WEAK',
52e7c72d69SNikolas Klauser                 ]
53e7c72d69SNikolas KlauserBinPackArguments: false
54e7c72d69SNikolas KlauserBinPackParameters: false
55e7c72d69SNikolas KlauserBreakBeforeConceptDeclarations: true
56e7c72d69SNikolas KlauserBreakInheritanceList: BeforeColon
57e7c72d69SNikolas KlauserEmptyLineAfterAccessModifier: Never
58e7c72d69SNikolas KlauserEmptyLineBeforeAccessModifier: Always
59e7c72d69SNikolas KlauserIndentWrappedFunctionNames: false
60e7c72d69SNikolas KlauserIndentRequires: true
61e7c72d69SNikolas KlauserInsertTrailingCommas: Wrapped
62e7c72d69SNikolas KlauserKeepEmptyLinesAtTheStartOfBlocks: false
63e7c72d69SNikolas KlauserMaxEmptyLinesToKeep: 1
64e7c72d69SNikolas KlauserPackConstructorInitializers: NextLine
65e7c72d69SNikolas Klauser
66d5a3cc1dSNikolas KlauserPenaltyIndentedWhitespace: 2
67e7c72d69SNikolas Klauser
684cb3d7d7SMark de WeverStandard: c++20
694cb3d7d7SMark de WeverSpacesInAngles: Leave
7055b31b4eSEric Fiselier
7155b31b4eSEric FiselierAlwaysBreakTemplateDeclarations: true
72720fb14cSSaleem AbdulrasoolPointerAlignment: Left
73949e47daSEric Fiselier
74ac251726SNikolas Klauser
7515dfe783SMark de Wever# libc++'s preferred indentions of preprocessor statements.
7615dfe783SMark de WeverIndentPPDirectives: AfterHash
7715dfe783SMark de Wever
782e3a78b8SChristopher Di Bella# libc++ has some long names so we need more than the 80 column limit imposed by LLVM style, for sensible formatting
792e3a78b8SChristopher Di BellaColumnLimit: 120
80