diff --git a/Makefile b/Makefile index 87831fc1a..9b80864fc 100644 --- a/Makefile +++ b/Makefile @@ -259,11 +259,18 @@ default: all WARNING_FLAGS = -W -Wextra -Wall -Wsign-compare -Wshadow \ -Wno-unused-parameter -CCFALIGNED := $(shell $(CXX) --version | awk 'NR==1 { split($$3, ver, "."); if (($$1 == "clang" && ver[1] >= 4) || ($$2 == "(GCC)" && ver[1] >= 7)) { print "yes" } }') +CCVERSION = $(shell $(CXX) -dumpversion) +CCNAME = $(shell $(CXX) --version | awk 'NR==1' | cut -f1 -d " ") -ifeq ($(CCFALIGNED), yes) +ifeq ($(CCNAME), clang) +ifeq ($(CCVERSION), 4*) CXXFLAGS += -faligned-new endif +else +ifeq ($(CCVERSION), 7) + CXXFLAGS += -faligned-new +endif +endif ifndef DISABLE_WARNING_AS_ERROR WARNING_FLAGS += -Werror