On 05/15/2013 01:39 AM, Paul Eggert wrote: > * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely, > since the GCC workaround for fwrite does not pacify clang. > --- > ChangeLog | 4 ++++ > lib/stdio.in.h | 11 +++++++---- > 2 files changed, 11 insertions(+), 4 deletions(-) >
> -# undef fwrite
> -# define fwrite(a, b, c, d) ({size_t __r = fwrite (a, b, c, d); __r; })
> +# ifdef __clang__
> +# pragma clang diagnostic ignored "-Wunused-value"
Does clang support push/pop of pragmas? Can it be silenced by adding a
cast to void instead of globally turning off this normally-useful warning?
> +# elif 3 < __GNUC__ + (4 <= __GNUC_MINOR__)
> +# undef fwrite
> +# define fwrite(a, b, c, d) ({size_t __r = fwrite (a, b, c, d); __r; })
Here, we were just inlining the gcc version if "ignore-value.h" (so that
our replacement <stdio.h> doesn't have to drag in the actual
ignore-value.h header); but the non-gcc counterpart is a cast to void,
and clang doesn't seem to be issuing unused result warnings for other
uses of ignore_value().
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
