blob: 8b6871f4e37d03db324f3587cab7add89a50c8c8 [file] [log] [blame]
From 5a83a50c47c46c54a443aa18ed6456416fa27a98 Mon Sep 17 00:00:00 2001
From: Etienne Carriere <etienne.carriere@linaro.org>
Date: Thu, 25 Apr 2019 10:19:05 +0200
Subject: [PATCH] regression 41xx: prevent unsafe-loop-optimizations build
error
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Add -Wno-unsafe-loop-optimizations directive since regression_4100.c
fails to build on some recent toolchains as GCC 7.3.0 and 7.4.0 with
an error trace like below. Note building with GCC 8.2.1 does not
reproduce the build issue.
/path/to/optee_test/host/xtest/regression_4100.c: In function convert_from_string’:
/path/to/optee_test/host/xtest/regression_4100.c:448:8: error: missed loop optimization, the loop counter may overflow [-Werror=unsafe-loop-optimizations]
while (spos) {
^
/path/to/optee_test/host/xtest/regression_4100.c:455:6: error: missed loop optimization, the loop counter may overflow [-Werror=unsafe-loop-optimizations]
if (!spos)
^
The GNU Makefile build sequence defines -Wno-unsafe-loop-optimizations
for the whole xtest sources while CMake build sequence defines it
specifically for regression_4100.c among xtest source files.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
---
host/xtest/CMakeLists.txt | 4 ++++
host/xtest/Makefile | 1 +
2 files changed, 5 insertions(+)
diff --git a/host/xtest/CMakeLists.txt b/host/xtest/CMakeLists.txt
index 1f3a6f4..3868bcd 100644
--- a/host/xtest/CMakeLists.txt
+++ b/host/xtest/CMakeLists.txt
@@ -61,6 +61,10 @@ set (SRC
xtest_test.c
)
+set_source_files_properties(
+ regression_4100.c PROPERTIES COMPILE_FLAGS -Wno-unsafe-loop-optimizations
+)
+
if (CFG_GP_SOCKETS)
list (APPEND SRC
regression_2000.c
diff --git a/host/xtest/Makefile b/host/xtest/Makefile
index f226500..e930d9c 100644
--- a/host/xtest/Makefile
+++ b/host/xtest/Makefile
@@ -155,6 +155,7 @@ CFLAGS += -Wall -Wcast-align -Werror \
-Wshadow -Wstrict-prototypes -Wswitch-default \
-Wwrite-strings \
-Wno-declaration-after-statement \
+ -Wno-unsafe-loop-optimizations \
-Wno-missing-field-initializers -Wno-format-zero-length
endif
--
2.17.1