summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEanna O Cathain <eanna.ocathain@arm.com>2022-05-04 13:34:31 +0100
committerKshitij Sisodia <kshitij.sisodia@arm.com>2022-05-10 09:41:32 +0000
commitb29e08a5566307f0ecc59db058e3b65c75f71e35 (patch)
tree5abe2c3534f544890532878794d22fe36256cc31
parenteb9dfa723bedf239e551b6369b65c7151860618b (diff)
downloadml-embedded-evaluation-kit-b29e08a5566307f0ecc59db058e3b65c75f71e35.tar.gz
MLECO-3160 Adding .clang-format
Change-Id: If5cf20e189273a887917aefcc745c4992be93e1d Reviewed-on: https://eu-gerrit-2.euhpc.arm.com/c/ml/ecosystem/ml-embedded-evaluation-kit/+/543186 Tested-by: mlecosys <mlecosys@arm.com> Reviewed-by: Nina Drozd <nina.drozd@arm.com> Reviewed-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
-rw-r--r--.clang-format56
-rw-r--r--docs/sections/coding_guidelines.md18
2 files changed, 74 insertions, 0 deletions
diff --git a/.clang-format b/.clang-format
new file mode 100644
index 0000000..b22d4c2
--- /dev/null
+++ b/.clang-format
@@ -0,0 +1,56 @@
+#
+# Copyright (c) 2022 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+# Licensed under the Apache License, Version 2.0 (the License); you may
+# not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an AS IS BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+---
+Language: Cpp
+BasedOnStyle: LLVM
+IndentWidth: 4
+ColumnLimit: 100
+AccessModifierOffset: -4
+PointerAlignment: Left
+AlignAfterOpenBracket: Align
+AlignConsecutiveAssignments: true
+AlignConsecutiveMacros: true
+AlignEscapedNewlines: Left
+AlignTrailingComments: true
+AllowAllParametersOfDeclarationOnNextLine: true
+AllowShortFunctionsOnASingleLine: Empty
+AllowShortBlocksOnASingleLine: true
+AlwaysBreakTemplateDeclarations: true
+BinPackArguments: false
+BinPackParameters: false
+BreakInheritanceList: AfterColon
+BreakConstructorInitializers: AfterColon
+BreakBeforeBraces: Custom
+BraceWrapping:
+ AfterClass: false
+ AfterControlStatement: false
+ AfterEnum: false
+ AfterFunction: true
+ AfterNamespace: false
+ AfterObjCDeclaration: false
+ AfterStruct: false
+ AfterUnion: false
+ AfterExternBlock: false
+ BeforeCatch: false
+ BeforeElse: false
+ IndentBraces: false
+ SplitEmptyFunction: false
+ SplitEmptyRecord: false
+ SplitEmptyNamespace: true
+---
+
diff --git a/docs/sections/coding_guidelines.md b/docs/sections/coding_guidelines.md
index ae479f7..57c45e0 100644
--- a/docs/sections/coding_guidelines.md
+++ b/docs/sections/coding_guidelines.md
@@ -25,6 +25,24 @@ Layer (HAL). Both of these languages follow different naming conventions within
However, because we also issue function calls to third-party APIs, and they are not guaranteed to follow these
conventions, the intended outcome could be different for every case.
+## Pre-commit formatting
+To help with the adherence of the coding guidelines, we have provided a clang-format file. When commiting, please run
+the following command, post-staging but pre-commit.
+
+
+ ```Git
+ git-clang-format
+ ```
+
+This will modify the staged changes, to adhere to the guidelines as described in the
+.clang-format file in the root of the repo. Please note that the clang-format tool must be installed to run this
+step and can be installed using the following command on Ubuntu:
+
+ ```
+ sudo apt install clang-format
+ ```
+
+
## Language version
For this project, code written in C++ uses a subset of the `C++14` feature set and software may be written using the