Merge "core/buildsystem: check the actual compiler being version" into 16

This commit is contained in:
Friendly Automation 2019-04-23 15:26:12 -05:00 committed by Gerrit Code Review
commit 641414faf9
1 changed files with 7 additions and 2 deletions

View File

@ -70,11 +70,16 @@ ifneq ($(findstring darwin,$(OSARCH)),)
endif
endif
# gcc version 8.2.1 and above must have partial-inlining disabled to avoid documented bug
GCC_VER_GTE821:=$(shell expr `gcc --version | grep ^gcc | cut -d ' ' -f 3 | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/'` \>= 80201)
# gcc version 8.2.1 and above must have partial-inlining disabled to avoid documented bug.
# We must handle cross-compiling and clang so make sure the compiler version string has "gcc"
# somewhere in it before testing the version.
CC_VERS_STRING=$(shell $(CC) --version | grep -i gcc)
ifneq ($(CC_VERS_STRING),)
GCC_VER_GTE821:=$(shell expr `echo '$(CC_VERS_STRING)' | cut -d ' ' -f 3 | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/'` \>= 80201)
ifeq ($(GCC_VER_GTE821),1)
OPTIMIZE+=-fno-partial-inlining
endif
endif
ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS))$(AST_CODE_COVERAGE),no)
_ASTCFLAGS+=$(OPTIMIZE)