diff options
author | Pádraig Brady <P@draigBrady.com> | 2011-01-05 12:09:52 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2011-01-05 13:10:45 +0100 |
commit | b24bc2972d0a25af9bbdc1d8a6df7a62a061e5b6 (patch) | |
tree | 667f007022ea8009766c520e4493df9ebe65dc0a /lib/ignore-value.h | |
parent | 05efa9eaa5690bb85220bcc6af38eb18714c90a9 (diff) | |
download | gnulib-b24bc2972d0a25af9bbdc1d8a6df7a62a061e5b6.tar.gz |
ignore-value: make ignore_value more generic; deprecate ignore_ptr
* lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
(ATTRIBUTE_DEPRECATED): Define.
(_ignore_case): New function.
(ignore_value): New macro, to replace the old function.
(ignore_ptr): Arrange for any use to evoke a deprecation warning.
* modules/ignore-value (Depends-on): Add stdint.
Diffstat (limited to 'lib/ignore-value.h')
-rw-r--r-- | lib/ignore-value.h | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/lib/ignore-value.h b/lib/ignore-value.h index 04d6520e05..8f60b0e60d 100644 --- a/lib/ignore-value.h +++ b/lib/ignore-value.h @@ -15,9 +15,9 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* Written by Jim Meyering. */ +/* Written by Jim Meyering and Pádraig Brady. */ -/* Use these functions to avoid a warning when using a function declared with +/* Use "ignore_value" to avoid a warning when using a function declared with gcc's warn_unused_result attribute, but for which you really do want to ignore the result. Traditionally, people have used a "(void)" cast to indicate that a function's return value is deliberately unused. However, @@ -35,8 +35,25 @@ #ifndef _GL_IGNORE_VALUE_H # define _GL_IGNORE_VALUE_H -static inline void ignore_value (int i) { (void) i; } -static inline void ignore_ptr (void* p) { (void) p; } +# include <stdint.h> + +# ifndef ATTRIBUTE_DEPRECATED +/* The __attribute__((__deprecated__)) feature + is available in gcc versions 3.1 and newer. */ +# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 1) +# define ATTRIBUTE_DEPRECATED /* empty */ +# else +# define ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) +# endif +# endif + +static inline void _ignore_value (intptr_t p) { (void) p; } +# define ignore_value(x) _ignore_value ((intptr_t) x) + +/* ignore_value works for both scalars and pointers; deprecate ignore_ptr. */ +static inline void ATTRIBUTE_DEPRECATED +ignore_ptr (void *p) { (void) p; } /* deprecated: use ignore_value */ + /* FIXME: what about aggregate types? */ #endif |