From f32196f68e95fe4a592b03bee728c5147bfc19f1 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sun, 16 Sep 2018 20:49:41 +0200 Subject: [PATCH] Also manages clang-X as tool for scan-build see https://reviews.llvm.org/D52151 --- debian/changelog | 7 +++++++ debian/patches/scan-build-clang-X.diff | 13 +++++++++++++ debian/patches/series | 1 + debian/qualify-clang.sh | 8 ++++++++ 4 files changed, 29 insertions(+) create mode 100644 debian/patches/scan-build-clang-X.diff diff --git a/debian/changelog b/debian/changelog index 27a19893..138ea814 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-7 (1:7~+rc3-6) unstable; urgency=medium + + * Also manages clang-X as tool for scan-build + see https://reviews.llvm.org/D52151 + + -- + llvm-toolchain-7 (1:7~+rc3-5) unstable; urgency=medium [ John Paul Adrian Glaubitz ] diff --git a/debian/patches/scan-build-clang-X.diff b/debian/patches/scan-build-clang-X.diff new file mode 100644 index 00000000..e853ec80 --- /dev/null +++ b/debian/patches/scan-build-clang-X.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-7_7~+rc1/clang/tools/scan-build/bin/scan-build +=================================================================== +--- llvm-toolchain-7_7~+rc1.orig/clang/tools/scan-build/bin/scan-build ++++ llvm-toolchain-7_7~+rc1/clang/tools/scan-build/bin/scan-build +@@ -1079,7 +1079,7 @@ sub RunBuildCommand { + if ($Cmd =~ /(.*\/?gcc[^\/]*$)/ or + $Cmd =~ /(.*\/?cc[^\/]*$)/ or + $Cmd =~ /(.*\/?llvm-gcc[^\/]*$)/ or +- $Cmd =~ /(.*\/?clang$)/ or ++​ $Cmd =~ /(.*\/?clang[^\/]*$)/ or + $Cmd =~ /(.*\/?ccc-analyzer[^\/]*$)/) { + + if (!($Cmd =~ /ccc-analyzer/) and !defined $ENV{"CCC_CC"}) { diff --git a/debian/patches/series b/debian/patches/series index c8335448..31697f6e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -74,3 +74,4 @@ libcxx-silent-failure-arm64.diff D51108-rust-powerpc.diff disable-sse2-old-x86.diff +scan-build-clang-X.diff diff --git a/debian/qualify-clang.sh b/debian/qualify-clang.sh index adae3783..d2f983c6 100644 --- a/debian/qualify-clang.sh +++ b/debian/qualify-clang.sh @@ -27,6 +27,14 @@ if ! ./foo 2>&1 | grep -q heap-use-after-free ; then echo "sanitize=address is failing" exit 42 fi +echo ' +void test() { + int x; + x = 1; // warn +} +'> foo.c +scan-build-$VERSION gcc -c foo.c &> /dev/null +scan-build-$VERSION clang-$VERSION -c foo.c &> /dev/null echo 'int main() {return 0;}' > foo.c clang-$VERSION foo.c