This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[COMMITTED] Fix test-skeleton C99 designed initialization
- From: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- To: libc-alpha at sourceware dot org
- Date: Fri, 26 Aug 2016 17:58:40 -0300
- Subject: [COMMITTED] Fix test-skeleton C99 designed initialization
- Authentication-results: sourceware.org; auth=none
ISO C forbids empty initializer braces (6.7.9 initializer-list must
contain at least one initializer). However GCC allows it, generating
a warning depending of the version.
With GCC 4.8 on ARM I noticed tst-initializers1.c fails to build with:
In file included from tst-initializers1.c:60:0:
../test-skeleton.c: In function 'delayed_exit_thread':
../test-skeleton.c:687:10: error: missing initializer for field 'tv_sec' of 'struct timespec' [-Werror=missing-field-initializers]
struct timespec remaining = {}
While with GCC 5.1 the same warning is just spilled with -pedantic.
To be safe this patch just zero initialize the struct as expected.
Tested on armhf.
* test-skeleton.c (delayed_exit_thread): Add initializer on struct
timespec C99 designated initialization.
---
test-skeleton.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/test-skeleton.c b/test-skeleton.c
index b24ce1d..913a335 100644
--- a/test-skeleton.c
+++ b/test-skeleton.c
@@ -684,7 +684,7 @@ delayed_exit_thread (void *seconds_as_ptr)
{
int seconds = (uintptr_t) seconds_as_ptr;
struct timespec delay = { seconds, 0 };
- struct timespec remaining = {};
+ struct timespec remaining = { 0 };
if (nanosleep (&delay, &remaining) != 0)
{
printf ("error: nanosleep: %m\n");
--
2.7.4