Commit d2b5853b authored by Ondřej Surý's avatar Ondřej Surý Committed by Ondřej Surý

Start enforcing the clang-format rules on changed files

parent d3b49b66
......@@ -17,9 +17,11 @@ variables:
MAKE: make
CONFIGURE: ./configure
CLANG: clang-9
SCAN_BUILD: scan-build-9
SYMBOLIZER: /usr/lib/llvm-9/bin/llvm-symbolizer
ASAN_SYMBOLIZER_PATH: "$SYMBOLIZER"
CLANG_FORMAT: clang-format-11
CFLAGS_COMMON: -fno-omit-frame-pointer -fno-optimize-sibling-calls -O1 -g -Wall -Wextra
......@@ -384,6 +386,12 @@ misc:sid:amd64:
expire_in: "1 day"
when: on_failure
💾:sid:amd64:
<<: *precheck_job
script:
- if [ -r .clang-format ]; then ./util/cformat.sh "${CLANG_FORMAT}"; fi
- if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi
🐞:sid:amd64:
<<: *precheck_job
<<: *debian_buster_amd64_image
......@@ -618,7 +626,7 @@ scan-build:buster:amd64:
<<: *debian_buster_amd64_image
stage: postcheck
variables:
CC: clang-9
CC: "${CLANG}"
CFLAGS: "${CFLAGS_COMMON}"
CONFIGURE: "${SCAN_BUILD} ./configure"
EXTRA_CONFIGURE: "--enable-dnstap --with-libidn2"
......@@ -878,7 +886,7 @@ tsan:buster:amd64:
<<: *debian_buster_amd64_image
<<: *build_job
variables:
CC: clang-9
CC: "${CLANG}"
CFLAGS: "${CFLAGS_COMMON} -fsanitize=thread -DISC_MEM_USE_INTERNAL_MALLOC=0"
LDFLAGS: "-fsanitize=thread"
EXTRA_CONFIGURE: "--with-libidn2 --enable-pthread-rwlock"
......
......@@ -9,19 +9,27 @@
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
CLANG_FORMAT=clang-format
if [ -n "$1" ]; then
CLANG_FORMAT="$1"
fi
CLANG_FORMAT_VERSION=$("$CLANG_FORMAT" --version | sed -e 's/clang-format version \([0-9]*\)\..*/\1/')
if [ "$CLANG_FORMAT_VERSION" -lt 11 ]; then
echo "clang-format version 11 required"
exit 1
fi
# use the main .clang-format for C files
find bin lib -name "*.c" |
xargs clang-format --style=file --sort-includes -i
"$CLANG_FORMAT" --style=file --sort-includes -i $(git ls-files '*.c')
# set up a temporary .clang-format file for headers ONLY
cp -f .clang-format .clang-format.bak
sed -e 's/\(AlignConsecutiveDeclarations\).*/\1: true/' \
-e 's/\(AlwaysBreakAfterReturnType\).*/\1: All/' \
.clang-format.bak > .clang-format
# modify header files
find bin lib -name "*.h" |
xargs clang-format --style=file --sort-includes -i
"$CLANG_FORMAT" --style=file --sort-includes -i $(git ls-files '*.h')
# restore the original .clang-format file
cp -f .clang-format.bak .clang-format
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment