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
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
<<: *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"
<<: *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"
# 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