50 lines
1.7 KiB
Diff
50 lines
1.7 KiB
Diff
|
Building p7zip with GCC 11 or newer normally fails with error messages like
|
|||
|
|
|||
|
../../../../CPP/7zip/Archive/Wim/WimHandler.cpp:308:11: error: use of an
|
|||
|
operand of type ‘bool’ in ‘operator++’ is forbidden in C++17
|
|||
|
308 | numMethods++;
|
|||
|
| ^~~~~~~~~~
|
|||
|
|
|||
|
This patch causes GCC to interpret the code using the GNU dialect of the C++14
|
|||
|
standard, as GCC 10 did by default, and reduces these errors to warnings.
|
|||
|
|
|||
|
diff --git a/makefile.linux_amd64_asm b/makefile.linux_amd64_asm
|
|||
|
index 075c6a8..b7d73ee 100644
|
|||
|
--- a/makefile.linux_amd64_asm
|
|||
|
+++ b/makefile.linux_amd64_asm
|
|||
|
@@ -11,6 +11,8 @@ ALLFLAGS=-m64 ${OPTFLAGS} -pipe \
|
|||
|
-D_7ZIP_ASM \
|
|||
|
$(LOCAL_FLAGS)
|
|||
|
|
|||
|
+ALLFLAGS_CPP=-std=gnu++14
|
|||
|
+
|
|||
|
CXX=g++
|
|||
|
CC=gcc
|
|||
|
CC_SHARED=-fPIC
|
|||
|
diff --git a/makefile.linux_any_cpu_gcc_4.X b/makefile.linux_any_cpu_gcc_4.X
|
|||
|
index be093b5..c0f3120 100644
|
|||
|
--- a/makefile.linux_any_cpu_gcc_4.X
|
|||
|
+++ b/makefile.linux_any_cpu_gcc_4.X
|
|||
|
@@ -10,7 +10,7 @@ ALLFLAGS=${OPTFLAGS} -pipe \
|
|||
|
-D_7ZIP_LARGE_PAGES \
|
|||
|
$(LOCAL_FLAGS)
|
|||
|
|
|||
|
-ALLFLAGS_CPP=-DENV_HAVE_GCCVISIBILITYPATCH -fvisibility=hidden -fvisibility-inlines-hidden
|
|||
|
+ALLFLAGS_CPP=-DENV_HAVE_GCCVISIBILITYPATCH -std=gnu++14 -fvisibility=hidden -fvisibility-inlines-hidden
|
|||
|
|
|||
|
CXX=g++
|
|||
|
CC=gcc
|
|||
|
diff --git a/makefile.linux_x86_asm_gcc_4.X b/makefile.linux_x86_asm_gcc_4.X
|
|||
|
index 1ac339b..6e736d9 100644
|
|||
|
--- a/makefile.linux_x86_asm_gcc_4.X
|
|||
|
+++ b/makefile.linux_x86_asm_gcc_4.X
|
|||
|
@@ -12,7 +12,7 @@ ALLFLAGS=${OPTFLAGS} -pipe -m32 \
|
|||
|
-D_7ZIP_ASM \
|
|||
|
$(LOCAL_FLAGS)
|
|||
|
|
|||
|
-ALLFLAGS_CPP=-DENV_HAVE_GCCVISIBILITYPATCH -fvisibility=hidden -fvisibility-inlines-hidden
|
|||
|
+ALLFLAGS_CPP=-DENV_HAVE_GCCVISIBILITYPATCH -std=gnu++14 -fvisibility=hidden -fvisibility-inlines-hidden
|
|||
|
|
|||
|
CXX=g++
|
|||
|
CC=gcc
|