[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[coreutils] Re: make ignore_value more generic; deprecate ignore_ptr
From: |
Eric Blake |
Subject: |
[coreutils] Re: make ignore_value more generic; deprecate ignore_ptr |
Date: |
Thu, 06 Jan 2011 15:19:37 -0700 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Fedora/3.1.7-0.35.b3pre.fc14 Lightning/1.0b3pre Mnenhy/0.8.3 Thunderbird/3.1.7 |
On 01/06/2011 03:15 PM, Eric Blake wrote:
>
> +# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 1)
> +# define ignore_value(x) ((void) (x))
> +# else
> static inline void _ignore_value (intptr_t p) { (void) p; }
> -# define ignore_value(x) _ignore_value ((intptr_t) x)
> +# define ignore_value(x) \
> + _ignore_value (({__typeof__(x) __x = (x); (intptr_t) __x;}))
> +# endif
In fact, the simpler:
# define ignore_value(x) (({__typeof__(x) __x = (x);(void)__x;}))
works on coreutils, and has the added perk of silencing _wur on aggregates!
--
Eric Blake address@hidden +1-801-349-2682
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature