Mercurial > hg > octave-nkf > gnulib-hg
changeset 14136:046ff9bb0947
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.
author | Pádraig Brady <P@draigBrady.com> |
---|---|
date | Wed, 05 Jan 2011 12:09:52 +0100 |
parents | 418588d27f3f |
children | 2dbfa19b11d0 |
files | ChangeLog lib/ignore-value.h modules/ignore-value |
diffstat | 3 files changed, 33 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2011-01-05 Pádraig Brady <P@draigBrady.com> + and Jim Meyering <meyering@redhat.com> + + 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. + 2011-01-04 Eric Blake <eblake@redhat.com> doc: regenerate INSTALL
--- 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