summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2021-08-02 12:03:07 +1000
committerChris Johns <chrisj@rtems.org>2021-08-28 10:24:37 +1000
commit684cf3cdc20d2adcc5211dff90570f26d5aea534 (patch)
tree887a3264e80aa05b9f03134d18ffa83b7d0fc07b
parentkern-symbols: Add symbols from the everything build set (diff)
downloadrtems-libbsd-684cf3cdc20d2adcc5211dff90570f26d5aea534.tar.bz2
rtemsbsd: Add FrreBSD's clang-format style
Update #4475
-rw-r--r--.clang-format194
1 files changed, 194 insertions, 0 deletions
diff --git a/.clang-format b/.clang-format
new file mode 100644
index 00000000..06709b76
--- /dev/null
+++ b/.clang-format
@@ -0,0 +1,194 @@
+# $FreeBSD$
+# Basic .clang-format
+---
+BasedOnStyle: WebKit
+AlignAfterOpenBracket: DontAlign
+AlignConsecutiveAssignments: false
+AlignConsecutiveDeclarations: false
+AlignEscapedNewlines: Left
+AlignOperands: false
+AlignTrailingComments: true
+AllowAllArgumentsOnNextLine: false
+AllowAllParametersOfDeclarationOnNextLine: false
+AllowShortBlocksOnASingleLine: Never
+AllowShortCaseLabelsOnASingleLine: false
+AllowShortFunctionsOnASingleLine: InlineOnly
+AllowShortIfStatementsOnASingleLine: Never
+AllowShortLoopsOnASingleLine: false
+AlwaysBreakAfterReturnType: TopLevelDefinitions
+AlwaysBreakBeforeMultilineStrings: false
+AlwaysBreakTemplateDeclarations: MultiLine
+BinPackArguments: true
+BinPackParameters: true
+BreakBeforeBinaryOperators: None
+BreakBeforeBraces: WebKit
+BreakBeforeTernaryOperators: false
+# TODO: BreakStringLiterals can cause very strange formatting so turn it off?
+BreakStringLiterals: false
+# Prefer:
+# some_var = function(arg1,
+# arg2)
+# over:
+# some_var =
+# function(arg1, arg2)
+PenaltyBreakAssignment: 100
+# Prefer:
+# some_long_function(arg1, arg2
+# arg3)
+# over:
+# some_long_function(
+# arg1, arg2, arg3)
+PenaltyBreakBeforeFirstCallParameter: 100
+CompactNamespaces: true
+DerivePointerAlignment: false
+DisableFormat: false
+ForEachMacros:
+ - ARB_ARRFOREACH
+ - ARB_ARRFOREACH_REVWCOND
+ - ARB_ARRFOREACH_REVERSE
+ - ARB_FOREACH
+ - ARB_FOREACH_FROM
+ - ARB_FOREACH_SAFE
+ - ARB_FOREACH_REVERSE
+ - ARB_FOREACH_REVERSE_FROM
+ - ARB_FOREACH_REVERSE_SAFE
+ - CPU_FOREACH
+ - FOREACH_THREAD_IN_PROC
+ - FOREACH_PROC_IN_SYSTEM
+ - FOREACH_PRISON_CHILD
+ - FOREACH_PRISON_DESCENDANT
+ - FOREACH_PRISON_DESCENDANT_LOCKED
+ - FOREACH_PRISON_DESCENDANT_LOCKED_LEVEL
+ - MNT_VNODE_FOREACH_ALL
+ - MNT_VNODE_FOREACH_ACTIVE
+ - RB_FOREACH
+ - RB_FOREACH_FROM
+ - RB_FOREACH_SAFE
+ - RB_FOREACH_REVERSE
+ - RB_FOREACH_REVERSE_FROM
+ - RB_FOREACH_REVERSE_SAFE
+ - SLIST_FOREACH
+ - SLIST_FOREACH_FROM
+ - SLIST_FOREACH_FROM_SAFE
+ - SLIST_FOREACH_SAFE
+ - SLIST_FOREACH_PREVPTR
+ - SPLAY_FOREACH
+ - LIST_FOREACH
+ - LIST_FOREACH_FROM
+ - LIST_FOREACH_FROM_SAFE
+ - LIST_FOREACH_SAFE
+ - STAILQ_FOREACH
+ - STAILQ_FOREACH_FROM
+ - STAILQ_FOREACH_FROM_SAFE
+ - STAILQ_FOREACH_SAFE
+ - TAILQ_FOREACH
+ - TAILQ_FOREACH_FROM
+ - TAILQ_FOREACH_FROM_SAFE
+ - TAILQ_FOREACH_REVERSE
+ - TAILQ_FOREACH_REVERSE_FROM
+ - TAILQ_FOREACH_REVERSE_FROM_SAFE
+ - TAILQ_FOREACH_REVERSE_SAFE
+ - TAILQ_FOREACH_SAFE
+ - VM_MAP_ENTRY_FOREACH
+ - VM_PAGE_DUMP_FOREACH
+IndentCaseLabels: false
+IndentPPDirectives: None
+Language: Cpp
+NamespaceIndentation: None
+PointerAlignment: Right
+ContinuationIndentWidth: 4
+IndentWidth: 8
+TabWidth: 8
+ColumnLimit: 80
+UseTab: Always
+SpaceAfterCStyleCast: false
+IncludeBlocks: Regroup
+IncludeCategories:
+ - Regex: '^\"opt_.*\.h\"'
+ Priority: 1
+ SortPriority: 10
+ - Regex: '^<sys/cdefs\.h>'
+ Priority: 2
+ SortPriority: 20
+ - Regex: '^<sys/types\.h>'
+ Priority: 2
+ SortPriority: 21
+ - Regex: '^<sys/param\.h>'
+ Priority: 2
+ SortPriority: 22
+ - Regex: '^<sys/systm\.h>'
+ Priority: 2
+ SortPriority: 23
+ - Regex: '^<sys.*/'
+ Priority: 2
+ SortPriority: 24
+ - Regex: '^<vm/vm\.h>'
+ Priority: 3
+ SortPriority: 30
+ - Regex: '^<vm/'
+ Priority: 3
+ SortPriority: 31
+ - Regex: '^<machine/'
+ Priority: 4
+ SortPriority: 40
+ - Regex: '^<(x86|amd64|i386|xen)/'
+ Priority: 5
+ SortPriority: 50
+ - Regex: '^<dev/'
+ Priority: 6
+ SortPriority: 60
+ - Regex: '^<net.*/'
+ Priority: 7
+ SortPriority: 70
+ - Regex: '^<protocols/'
+ Priority: 7
+ SortPriority: 71
+ - Regex: '^<(fs|nfs(|client|server)|ufs)/'
+ Priority: 8
+ SortPriority: 80
+ - Regex: '^<[^/].*\.h'
+ Priority: 9
+ SortPriority: 90
+ - Regex: '^\".*\.h\"'
+ Priority: 10
+ SortPriority: 100
+# LLVM's header include ordering style is almost the exact opposite of ours.
+# Unfortunately, they have hard-coded their preferences into clang-format.
+# Clobbering this regular expression to avoid matching prevents non-system
+# headers from being forcibly moved to the top of the include list.
+# http://llvm.org/docs/CodingStandards.html#include-style
+IncludeIsMainRegex: 'BLAH_DONT_MATCH_ANYTHING'
+SortIncludes: true
+KeepEmptyLinesAtTheStartOfBlocks: true
+TypenameMacros:
+ - ARB_ELMTYPE
+ - ARB_HEAD
+ - ARB8_HEAD
+ - ARB16_HEAD
+ - ARB32_HEAD
+ - ARB_ENTRY
+ - ARB8_ENTRY
+ - ARB16_ENTRY
+ - ARB32_ENTRY
+ - LIST_CLASS_ENTRY
+ - LIST_CLASS_HEAD
+ - LIST_ENTRY
+ - LIST_HEAD
+ - QUEUE_TYPEOF
+ - RB_ENTRY
+ - RB_HEAD
+ - SLIST_CLASS_HEAD
+ - SLIST_CLASS_ENTRY
+ - SLIST_HEAD
+ - SLIST_ENTRY
+ - SMR_POINTER
+ - SPLAY_ENTRY
+ - SPLAY_HEAD
+ - STAILQ_CLASS_ENTRY
+ - STAILQ_CLASS_HEAD
+ - STAILQ_ENTRY
+ - STAILQ_HEAD
+ - TAILQ_CLASS_ENTRY
+ - TAILQ_CLASS_HEAD
+ - TAILQ_ENTRY
+ - TAILQ_HEAD