This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
fix build errors with -DNDEBUG
- From: Martin Sebor <msebor at gmail dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Date: Thu, 16 Jul 2015 16:42:41 -0600
- Subject: fix build errors with -DNDEBUG
- Authentication-results: sourceware.org; auth=none
Building the top of trunk with the -DNDEBUG option fails due to
local variables that are assigned to but only used in assertions,
and due to one instance where a variable is reported as possibly
used before initialized.
The attached patch suppresses these errors and allows the top of
trunk to build. Verified on powerpc64le.
Is it still time to commit this on trunk or should it wait until
after the release?
Martin
2015-07-16 Martin Sebor <msebor@redhat.com>
* iconv/skeleton.c (FUNCTION_NAME): Suppress -Wunused-but-set-variable
warnings.
* sysdeps/nptl/gai_misc.h (__gai_start_notify_thread): Same.
(__gai_create_helper_thread): Same.
* nscd/nscd.c (do_exit): Suppress -Wunused-variable.
* iconvdata/iso-2022-cn-ext.c (BODY): Initialize local variable
to suppress -Wmaybe-uninitialized warnings.
diff --git a/iconv/skeleton.c b/iconv/skeleton.c
index 09dfe11..9239c6f 100644
--- a/iconv/skeleton.c
+++ b/iconv/skeleton.c
@@ -675,7 +675,7 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
#else
/* We have a problem in one of the functions below.
Undo the conversion upto the error point. */
- size_t nstatus;
+ size_t nstatus __attribute__ ((unused));
/* Reload the pointers. */
*inptrp = inptr;
diff --git a/iconvdata/iso-2022-cn-ext.c b/iconvdata/iso-2022-cn-ext.c
index 2c9846d..bb0fd87 100644
--- a/iconvdata/iso-2022-cn-ext.c
+++ b/iconvdata/iso-2022-cn-ext.c
@@ -426,7 +426,7 @@ enum
} \
else \
{ \
- unsigned char buf[2]; \
+ unsigned char buf[2] = { 0, 0 }; \
int used; \
\
if (set == GB2312_set || ((ann & SO_ann) != CNS11643_1_ann \
diff --git a/nscd/nscd.c b/nscd/nscd.c
index 35b3a97..df29a81 100644
--- a/nscd/nscd.c
+++ b/nscd/nscd.c
@@ -659,7 +659,8 @@ do_exit (int child_ret, int errnum, const char *format, ...)
{
if (parent_fd != -1)
{
- int ret = write (parent_fd, &child_ret, sizeof (child_ret));
+ int ret __attribute__ ((unused));
+ ret = write (parent_fd, &child_ret, sizeof (child_ret));
assert (ret == sizeof (child_ret));
close (parent_fd);
}
@@ -691,7 +692,8 @@ notify_parent (int child_ret)
if (parent_fd == -1)
return;
- int ret = write (parent_fd, &child_ret, sizeof (child_ret));
+ int ret __attribute__ ((unused));
+ ret = write (parent_fd, &child_ret, sizeof (child_ret));
assert (ret == sizeof (child_ret));
close (parent_fd);
parent_fd = -1;
diff --git a/sysdeps/nptl/gai_misc.h b/sysdeps/nptl/gai_misc.h
index 96c8fa0..a1ff2ba 100644
--- a/sysdeps/nptl/gai_misc.h
+++ b/sysdeps/nptl/gai_misc.h
@@ -81,7 +81,8 @@ __gai_start_notify_thread (void)
{
sigset_t ss;
sigemptyset (&ss);
- int sigerr = pthread_sigmask (SIG_SETMASK, &ss, NULL);
+ int sigerr __attribute__ ((unused));
+ sigerr = pthread_sigmask (SIG_SETMASK, &ss, NULL);
assert_perror (sigerr);
}
@@ -105,7 +106,8 @@ __gai_create_helper_thread (pthread_t *threadp, void *(*tf) (void *),
sigset_t ss;
sigset_t oss;
sigfillset (&ss);
- int sigerr = pthread_sigmask (SIG_SETMASK, &ss, &oss);
+ int sigerr __attribute__ ((unused));
+ sigerr = pthread_sigmask (SIG_SETMASK, &ss, &oss);
assert_perror (sigerr);
int ret = pthread_create (threadp, &attr, tf, arg);