## Clang configurations. LLVM_READOBJ := $(LLVM_PREBUILTS_BASE)/$(BUILD_OS)-x86/$(LLVM_PREBUILTS_VERSION)/bin/llvm-readobj LLVM_RTLIB_PATH := $(LLVM_PREBUILTS_BASE)/linux-x86/$(LLVM_PREBUILTS_VERSION)/lib/clang/$(LLVM_RELEASE_VERSION)/lib/linux/ define convert-to-clang-flags $(strip $(filter-out $(CLANG_CONFIG_UNKNOWN_CFLAGS),$(1))) endef CLANG_DEFAULT_UB_CHECKS := \ bool \ integer-divide-by-zero \ return \ returns-nonnull-attribute \ shift-exponent \ unreachable \ vla-bound \ # TODO(danalbert): The following checks currently have compiler performance # issues. # CLANG_DEFAULT_UB_CHECKS += alignment # CLANG_DEFAULT_UB_CHECKS += bounds # CLANG_DEFAULT_UB_CHECKS += enum # CLANG_DEFAULT_UB_CHECKS += float-cast-overflow # CLANG_DEFAULT_UB_CHECKS += float-divide-by-zero # CLANG_DEFAULT_UB_CHECKS += nonnull-attribute # CLANG_DEFAULT_UB_CHECKS += null # CLANG_DEFAULT_UB_CHECKS += shift-base # CLANG_DEFAULT_UB_CHECKS += signed-integer-overflow # TODO(danalbert): Fix UB in libc++'s __tree so we can turn this on. # https://llvm.org/PR19302 # http://reviews.llvm.org/D6974 # CLANG_DEFAULT_UB_CHECKS += object-size # HOST config clang_2nd_arch_prefix := include $(BUILD_SYSTEM)/clang/HOST_$(HOST_ARCH).mk # HOST_2ND_ARCH config ifdef HOST_2ND_ARCH clang_2nd_arch_prefix := $(HOST_2ND_ARCH_VAR_PREFIX) include $(BUILD_SYSTEM)/clang/HOST_$(HOST_2ND_ARCH).mk endif # TARGET config clang_2nd_arch_prefix := include $(BUILD_SYSTEM)/clang/TARGET_$(TARGET_ARCH).mk # TARGET_2ND_ARCH config ifdef TARGET_2ND_ARCH clang_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX) include $(BUILD_SYSTEM)/clang/TARGET_$(TARGET_2ND_ARCH).mk endif include $(BUILD_SYSTEM)/clang/tidy.mk