Merge "Use newest clang static analyzers."
This commit is contained in:
commit
82953d72ac
7 changed files with 33 additions and 21 deletions
|
@ -402,6 +402,12 @@ ifeq ($(strip $(WITH_STATIC_ANALYZER)),)
|
|||
LOCAL_NO_STATIC_ANALYZER := true
|
||||
endif
|
||||
|
||||
# Clang does not recognize all gcc flags.
|
||||
# Use static analyzer only if clang is used.
|
||||
ifneq ($(my_clang),true)
|
||||
LOCAL_NO_STATIC_ANALYZER := true
|
||||
endif
|
||||
|
||||
ifneq ($(strip $(LOCAL_IS_HOST_MODULE)),)
|
||||
my_syntax_arch := host
|
||||
else
|
||||
|
@ -416,13 +422,16 @@ ifeq ($(strip $(my_cc)),)
|
|||
endif
|
||||
my_cc := $(my_cc_wrapper) $(my_cc)
|
||||
endif
|
||||
|
||||
ifneq ($(LOCAL_NO_STATIC_ANALYZER),true)
|
||||
my_cc := $(SYNTAX_TOOLS_PREFIX)/ccc-analyzer $(my_syntax_arch) "$(my_cc)"
|
||||
my_cc := CCC_CC=$(CLANG) CLANG=$(CLANG) \
|
||||
$(SYNTAX_TOOLS_PREFIX)/ccc-analyzer
|
||||
else
|
||||
ifneq ($(LOCAL_NO_SYNTAX_CHECK),true)
|
||||
my_cc := $(SYNTAX_TOOLS_PREFIX)/ccc-syntax $(my_syntax_arch) "$(my_cc)"
|
||||
my_cc := $(my_cc) -fsyntax-only
|
||||
endif
|
||||
endif
|
||||
|
||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_CC := $(my_cc)
|
||||
|
||||
ifeq ($(strip $(my_cxx)),)
|
||||
|
@ -433,13 +442,16 @@ ifeq ($(strip $(my_cxx)),)
|
|||
endif
|
||||
my_cxx := $(my_cxx_wrapper) $(my_cxx)
|
||||
endif
|
||||
|
||||
ifneq ($(LOCAL_NO_STATIC_ANALYZER),true)
|
||||
my_cxx := $(SYNTAX_TOOLS_PREFIX)/cxx-analyzer $(my_syntax_arch) "$(my_cxx)"
|
||||
my_cxx := CCC_CXX=$(CLANG_CXX) CLANG_CXX=$(CLANG_CXX) \
|
||||
$(SYNTAX_TOOLS_PREFIX)/c++-analyzer
|
||||
else
|
||||
ifneq ($(LOCAL_NO_SYNTAX_CHECK),true)
|
||||
my_cxx := $(SYNTAX_TOOLS_PREFIX)/cxx-syntax $(my_syntax_arch) "$(my_cxx)"
|
||||
my_cxx := $(my_cxx) -fsyntax-only
|
||||
endif
|
||||
endif
|
||||
|
||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_LINKER := $(my_linker)
|
||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_CXX := $(my_cxx)
|
||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_CLANG := $(my_clang)
|
||||
|
|
|
@ -13,7 +13,7 @@ endif
|
|||
ifeq ($(HOST_OS),linux)
|
||||
CLANG_CONFIG_x86_LINUX_HOST_EXTRA_ASFLAGS := \
|
||||
--gcc-toolchain=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG) \
|
||||
--sysroot=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot
|
||||
--sysroot $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot
|
||||
|
||||
CLANG_CONFIG_x86_LINUX_HOST_EXTRA_CFLAGS := \
|
||||
--gcc-toolchain=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)
|
||||
|
@ -23,14 +23,14 @@ CLANG_CONFIG_x86_LINUX_HOST_EXTRA_CFLAGS += -fstack-protector-strong
|
|||
ifneq ($(strip $($(clang_2nd_arch_prefix)HOST_IS_64_BIT)),)
|
||||
CLANG_CONFIG_x86_LINUX_HOST_EXTRA_CPPFLAGS := \
|
||||
--gcc-toolchain=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG) \
|
||||
--sysroot=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
|
||||
--sysroot $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
|
||||
-isystem $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/include/c++/4.8 \
|
||||
-isystem $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/include/c++/4.8/x86_64-linux \
|
||||
-isystem $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/include/c++/4.8/backward
|
||||
|
||||
CLANG_CONFIG_x86_LINUX_HOST_EXTRA_LDFLAGS := \
|
||||
--gcc-toolchain=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG) \
|
||||
--sysroot=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
|
||||
--sysroot $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
|
||||
-B$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/bin \
|
||||
-B$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/lib/gcc/x86_64-linux/4.8 \
|
||||
-L$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/lib/gcc/x86_64-linux/4.8 \
|
||||
|
@ -38,14 +38,14 @@ CLANG_CONFIG_x86_LINUX_HOST_EXTRA_LDFLAGS := \
|
|||
else
|
||||
CLANG_CONFIG_x86_LINUX_HOST_EXTRA_CPPFLAGS := \
|
||||
--gcc-toolchain=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG) \
|
||||
--sysroot=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
|
||||
--sysroot $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
|
||||
-isystem $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/include/c++/4.8 \
|
||||
-isystem $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/include/c++/4.8/x86_64-linux/32 \
|
||||
-isystem $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/include/c++/4.8/backward
|
||||
|
||||
CLANG_CONFIG_x86_LINUX_HOST_EXTRA_LDFLAGS := \
|
||||
--gcc-toolchain=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG) \
|
||||
--sysroot=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
|
||||
--sysroot $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
|
||||
-B$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/bin \
|
||||
-B$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/lib/gcc/x86_64-linux/4.8/32 \
|
||||
-L$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/lib/gcc/x86_64-linux/4.8/32 \
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
## Clang configurations.
|
||||
|
||||
LLVM_RELEASE_VERSION := 3.8
|
||||
LLVM_PREBUILTS_VERSION ?= clang-2577113
|
||||
LLVM_PREBUILTS_BASE ?= prebuilts/clang/host
|
||||
LLVM_PREBUILTS_PATH := $(LLVM_PREBUILTS_BASE)/$(BUILD_OS)-x86/$(LLVM_PREBUILTS_VERSION)/bin
|
||||
LLVM_RTLIB_PATH := $(LLVM_PREBUILTS_PATH)/../lib64/clang/$(LLVM_RELEASE_VERSION)/lib/linux/
|
||||
|
||||
|
|
5
core/clang/versions.mk
Normal file
5
core/clang/versions.mk
Normal file
|
@ -0,0 +1,5 @@
|
|||
## Clang/LLVM release versions.
|
||||
|
||||
LLVM_RELEASE_VERSION := 3.8
|
||||
LLVM_PREBUILTS_VERSION ?= clang-2577113
|
||||
LLVM_PREBUILTS_BASE ?= prebuilts/clang/host
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += -DUSE_MINGW -DWIN32_LEAN_AND_MEAN
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += -Wno-unused-parameter
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += --sysroot=prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += --sysroot prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += -m32
|
||||
$(combo_var_prefix)GLOBAL_LDFLAGS += -m32
|
||||
TOOLS_PREFIX := prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/bin/x86_64-w64-mingw32-
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += -DUSE_MINGW -DWIN32_LEAN_AND_MEAN
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += -Wno-unused-parameter
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += --sysroot=prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += --sysroot prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += -m64
|
||||
$(combo_var_prefix)GLOBAL_LDFLAGS += -m64
|
||||
TOOLS_PREFIX := prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/bin/x86_64-w64-mingw32-
|
||||
|
|
|
@ -349,20 +349,18 @@ ifeq ($(strip $(WITH_SYNTAX_CHECK)),0)
|
|||
WITH_SYNTAX_CHECK :=
|
||||
endif
|
||||
|
||||
# define clang/llvm versions and base directory.
|
||||
include $(BUILD_SYSTEM)/clang/versions.mk
|
||||
|
||||
# Disable WITH_STATIC_ANALYZER and WITH_SYNTAX_CHECK if tool can't be found
|
||||
SYNTAX_TOOLS_PREFIX := prebuilts/misc/$(HOST_PREBUILT_TAG)/analyzer/bin
|
||||
SYNTAX_TOOLS_PREFIX := \
|
||||
$(LLVM_PREBUILTS_BASE)/$(BUILD_OS)-x86/$(LLVM_PREBUILTS_VERSION)/tools/scan-build/libexec
|
||||
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)
|
||||
WITH_STATIC_ANALYZER :=
|
||||
endif
|
||||
endif
|
||||
ifneq ($(strip $(WITH_SYNTAX_CHECK)),)
|
||||
ifeq ($(wildcard $(SYNTAX_TOOLS_PREFIX)/ccc-syntax),)
|
||||
$(warning *** Disable WITH_SYNTAX_CHECK because $(SYNTAX_TOOLS_PREFIX)/ccc-syntax does not exist)
|
||||
WITH_SYNTAX_CHECK :=
|
||||
endif
|
||||
endif
|
||||
|
||||
# WITH_STATIC_ANALYZER trumps WITH_SYNTAX_CHECK
|
||||
ifneq ($(strip $(WITH_STATIC_ANALYZER)),)
|
||||
|
|
Loading…
Reference in a new issue