Use fputc in place of putc to avoid -Wunused-value warning (AIX).
authorJoel Brobecker <brobecker@gnat.com>
Thu, 9 May 2013 06:58:16 +0000 (06:58 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Thu, 9 May 2013 06:58:16 +0000 (06:58 +0000)
Currently, bfd does not compile with -Wunused-value because
the following code:

        val = putc ('\n', f);

gets expanded into some code that triggers a warning:

        warning: value computed is not used [-Wunused-value]

This is because putc is implemented as a macro...

>#define putc(__x, __p)  (((!((__p)->_flag & 0xC000)) && \
>                        ((__p)->_flag = ((__p)->_flag  & 0x3FFF) | 0x8000)),\
>                        (--(__p)->_cnt < 0 ? \
>                        __flsbuf((unsigned char) (__x), (__p)) : \
>                        (int) (*(__p)->_ptr++ = (unsigned char) (__x))))

It's the first part, before the coma operator, which triggers
the unused-value warning.

This patch fixes the issue by simply avoiding the macro and using
fputc instead.

bfd/ChangeLog:

        * bfd.c (_bfd_default_error_handler): Replace use of putc
        by fputc.  Add comment explaining why.

bfd/ChangeLog
bfd/bfd.c

index da19766..e680c3a 100644 (file)
@@ -1,3 +1,8 @@
+2013-05-09  Joel Brobecker  <brobecker@adacore.com>
+
+       * bfd.c (_bfd_default_error_handler): Replace use of putc
+       by fputc.  Add comment explaining why.
+
 2013-05-09  Alan Modra  <amodra@gmail.com>
 
        * elflink.c (elf_link_add_object_symbols): Don't omit reading
index 10bc319..8d0580c 100644 (file)
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -733,7 +733,9 @@ _bfd_default_error_handler (const char *fmt, ...)
   vfprintf (stderr, new_fmt, ap);
   va_end (ap);
 
-  putc ('\n', stderr);
+  /* On AIX, putc is implemented as a macro that triggers a -Wunused-value
+     warning, so use the fputc function to avoid it.  */
+  fputc ('\n', stderr);
   fflush (stderr);
 }