On 10/31/20 7:09 PM, Bruno Haible wrote:
> In a gnulib testdir, I now see this warning:
> 
> In file included from ../../gltests/test-verify.c:22:0:
> ../../gltests/test-verify.c: In function ‘main’:
> ../../gltests/../gllib/verify.h:316:25: warning: ‘((unsigned char*)&s)[0]’ is 
> used uninitialized in this function [-Wuninitialized]
>  # define assume(R) ((R) ? (void) 0 : __builtin_unreachable ())
>                          ^
> ../../gltests/test-verify.c:115:9: note: ‘s’ was declared here
>    state s;
>          ^
> 
> This is with gcc-5.4.0 and CPPFLAGS="-Wall".

Hi Bruno,

thanks for the report.
Sorry, I didn't test with such old GCC.
Should be fixed with the attached patch - I didn't find a gcc-5.*
on the compile farm (cfarm.tetaneutral.net).

Have a nice day,
Berny
>From 6d2936ed4668c3dac558aea2623679cb6fd9f485 Mon Sep 17 00:00:00 2001
From: Bernhard Voelker <m...@bernhard-voelker.de>
Date: Mon, 2 Nov 2020 02:10:49 +0100
Subject: [PATCH] verify tests: Fix -Wuninitialized warning (regression
 2020-10-30)

* tests/test-verify.c (main): Initialize state variable.
Reported by Bruno Haible for GCC 5.4.0.
---
 ChangeLog           | 6 ++++++
 tests/test-verify.c | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 2068ce6d2..7c10f10b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2020-10-30  Bernhard Voelker  <m...@bernhard-voelker.de>
+
+	verify tests: Fix -Wuninitialized warning (regression 2020-10-30).
+	* tests/test-verify.c (main): Initialize state variable.
+	Reported by Bruno Haible for GCC 5.4.0.
+
 2020-11-01  Bruno Haible  <br...@clisp.org>
 
 	ssfmalloc tests: Portability to Linux/PowerPC and Linux/SPARC.
diff --git a/tests/test-verify.c b/tests/test-verify.c
index 0429a1908..a141417c8 100644
--- a/tests/test-verify.c
+++ b/tests/test-verify.c
@@ -112,7 +112,7 @@ test_assume_noreturn (void)
 int
 main (void)
 {
-  state s;
+  state s = { 0 };
   test_assume_expressions (&s);
   test_assume_optimization (5);
   return !(function (0) == 0 && function (1) == 8);
-- 
2.29.1

Reply via email to