From 22b0454b811d14ad8960c59dc9f155e302a6e833 Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 7 Aug 2021 21:42:51 +0200 Subject: [PATCH] Added compatibility with GNU GCC 11 Toolchain (#811) This fixes compilation issues when using GNU GCC >=11 where parameter -std=gnu++17 is used by default. Resolves #802 --- src/Makefile | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Makefile b/src/Makefile index c49471f7..4f9796b6 100644 --- a/src/Makefile +++ b/src/Makefile @@ -174,6 +174,15 @@ ifeq "$(shell uname -s)" "Linux" PLATFORM := Linux C_CXX_FLAGS += -DTC_UNIX -DTC_LINUX + + # GNU GCC version 11 and higher compile with -std=gnu++17 by default + # which breaks "byte" definitions in Crypto++ library. So set + # -std=gnu++14 instead. + GCC11PLUS := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 11) + ifeq "$(GCC11PLUS)" "1" + CXXFLAGS += -std=gnu++14 + endif + ifeq "$(SIMD_SUPPORTED)" "1" CFLAGS += -msse2