~ruther/qmk_firmware

483691dd73e5260fac958c524e0a12e705db43f6 — Donald Kjer 4 years ago 8577167
Fixes for clang not being able to run unit tests (#13546)

2 files changed, 12 insertions(+), 0 deletions(-)

M tmk_core/native.mk
M tmk_core/rules.mk
M tmk_core/native.mk => tmk_core/native.mk +5 -0
@@ 1,4 1,5 @@
SYSTEM_TYPE := $(shell gcc -dumpmachine)
GCC_VERSION := $(shell gcc --version 2>/dev/null)

CC = gcc
OBJCOPY =


@@ 12,7 13,9 @@ BIN =


COMPILEFLAGS += -funsigned-char
ifeq ($(findstring clang, ${GCC_VERSION}),)
COMPILEFLAGS += -funsigned-bitfields
endif
COMPILEFLAGS += -ffunction-sections
COMPILEFLAGS += -fdata-sections
COMPILEFLAGS += -fshort-enums


@@ 21,7 24,9 @@ COMPILEFLAGS += -mno-ms-bitfields
endif

CFLAGS += $(COMPILEFLAGS)
ifeq ($(findstring clang, ${GCC_VERSION}),)
CFLAGS += -fno-inline-small-functions
endif
CFLAGS += -fno-strict-aliasing

CXXFLAGS += $(COMPILEFLAGS)

M tmk_core/rules.mk => tmk_core/rules.mk +7 -0
@@ 105,7 105,10 @@ endif
#CFLAGS += -Wundef
#CFLAGS += -Wunreachable-code
#CFLAGS += -Wsign-compare
GCC_VERSION := $(shell gcc --version 2>/dev/null)
ifeq ($(findstring clang, ${GCC_VERSION}),)
CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
endif
CFLAGS += $(CSTANDARD)

# This fixes lots of keyboards linking errors but SHOULDN'T BE A FINAL SOLUTION


@@ 137,7 140,9 @@ endif
#CXXFLAGS += -Wstrict-prototypes
#CXXFLAGS += -Wunreachable-code
#CXXFLAGS += -Wsign-compare
ifeq ($(findstring clang, ${GCC_VERSION}),)
CXXFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
endif
#CXXFLAGS += $(CSTANDARD)

#---------------- Assembler Options ----------------


@@ 150,11 155,13 @@ CXXFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
#  -listing-cont-lines: Sets the maximum number of continuation lines of hex
#       dump that will be displayed for a given single line of source input.
ASFLAGS += $(ADEFS)
ifeq ($(findstring clang, ${GCC_VERSION}),)
ifeq ($(strip $(DEBUG_ENABLE)),yes)
  ASFLAGS += -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100
else
  ASFLAGS += -Wa,-adhlns=$(@:%.o=%.lst),--listing-cont-lines=100
endif
endif
ifeq ($(VERBOSE_AS_CMD),yes)
	ASFLAGS += -v
endif