From c4f7fbae020ef662de1ec6d037f9bb2b16b46d46 Mon Sep 17 00:00:00 2001 From: Andrew Hsieh Date: Mon, 3 Mar 2014 16:53:17 +0800 Subject: [PATCH] Use analyzer at new location: prebuilts/misc/{linux-x86,darwin-x86}/analyzer Analyzer needed by WITH_STATIC_ANALYZER and WITH_SYNTAX_CHECK is moved from prebuilts/clang/{linux-x86,darwin-x86}/host/3.3 to prebuilts/misc/{linux-x86,darwin-x86}/analyzer See https://android-review.googlesource.com/#/c/83852/ BUG=13243591 Usage: "WITH_SYNTAX_CHECK=1 make ..." instructs build system to invoke "clang -fsyntax-only" to utilize clang's better diagnostics before calling LOCAL_CC/LOCAL_CXX for code generation. The compilation time is slightly longer, and the generated object file should be the same as w/o WITH_SYNTAX_CHECK "WITH_STATIC_ANALYZER=1 m/mm/mmm/mma/mmma ..." instructs build system to run static analyzer via "clang --analyze" on a successful build. If analyzer finds any issue, instruction to open report is displayed. See http://clang-analyzer.llvm.org/scan-build.html for details. WITH_STATIC_ANALYZER trumps WITH_SYNTAX_CHECK if both exist. Project use lots of GCC extensions (eg. nested function) not supported by clang may opt out by adding LOCAL_NO_STATIC_ANALYZER:=true Change-Id: Ib3dda3ffb0fd3aaf2eadec867a966d1dd2868fb1 --- core/config.mk | 2 +- envsetup.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/config.mk b/core/config.mk index 56217782ba..141fc7862f 100644 --- a/core/config.mk +++ b/core/config.mk @@ -248,7 +248,7 @@ ifeq ($(strip $(WITH_SYNTAX_CHECK)),0) endif # Disable WITH_STATIC_ANALYZER and WITH_SYNTAX_CHECK if tool can't be found -SYNTAX_TOOLS_PREFIX := prebuilts/clang/$(HOST_PREBUILT_TAG)/host/3.3/bin +SYNTAX_TOOLS_PREFIX := prebuilts/misc/$(HOST_PREBUILT_TAG)/analyzer/bin ifneq ($(strip $(WITH_STATIC_ANALYZER)),) ifeq ($(wildcard $(SYNTAX_TOOLS_PREFIX)/ccc-analyzer),) $(warning *** Disable WITH_STATIC_ANALYZER because $(SYNTAX_TOOLS_PREFIX)/ccc-analyzer does not exist) diff --git a/envsetup.sh b/envsetup.sh index f8a13a1e27..dfd16179d1 100644 --- a/envsetup.sh +++ b/envsetup.sh @@ -625,8 +625,8 @@ function getdriver() test "$WITH_STATIC_ANALYZER" = "0" && unset WITH_STATIC_ANALYZER if [ -n "$WITH_STATIC_ANALYZER" ]; then echo "\ -$T/prebuilts/clang/linux-x86/host/3.3/tools/scan-build/scan-build \ ---use-analyzer $T/prebuilts/clang/linux-x86/host/3.3/bin/analyzer \ +$T/prebuilts/misc/linux-x86/analyzer/tools/scan-build/scan-build \ +--use-analyzer $T/prebuilts/misc/linux-x86/analyzer/bin/analyzer \ --status-bugs \ --top=$T" fi