Fix test-skeleton C99 designed initialization
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 26 Aug 2016 20:33:47 +0000 (17:33 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 26 Aug 2016 20:33:47 +0000 (17:33 -0300)
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.

ChangeLog
test-skeleton.c

index be65e09..995b440 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-08-26  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+       * test-skeleton.c (delayed_exit_thread): Add initializer on struct
+       timespec C99 designated initialization.
+
 2016-08-26  Florian Weimer  <fweimer@redhat.com>
 
        [BZ #19946]
index b24ce1d..913a335 100644 (file)
@@ -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");