From: Jim Meyering Date: Sun, 10 Aug 2008 14:40:12 +0000 (+0200) Subject: ensure that return value of uinttostr et al are not ignored X-Git-Tag: v0.1~7155 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=493e1981bcdc746dbcd622a17ac65acdedf5762e;p=gnulib.git ensure that return value of uinttostr et al are not ignored * lib/inttostr.h (__GNUC_PREREQ): Define. (__attribute_warn_unused_result__): Define. (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute. --- diff --git a/ChangeLog b/ChangeLog index 8d9212256..91f110697 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-08-10 Jim Meyering + + ensure that return value of uinttostr et al are not ignored + * lib/inttostr.h (__GNUC_PREREQ): Define. + (__attribute_warn_unused_result__): Define. + (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute. + 2008-08-07 Paolo Bonzini * lib/lock.c (glthread_recursive_lock_init_multithreaded) diff --git a/lib/inttostr.h b/lib/inttostr.h index aa5820fd5..a103caf58 100644 --- a/lib/inttostr.h +++ b/lib/inttostr.h @@ -23,7 +23,24 @@ #include "intprops.h" -char *offtostr (off_t, char *); -char *imaxtostr (intmax_t, char *); -char *umaxtostr (uintmax_t, char *); -char *uinttostr (unsigned int, char *); +#ifndef __GNUC_PREREQ +# if defined __GNUC__ && defined __GNUC_MINOR__ +# define __GNUC_PREREQ(maj, min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +# else +# define __GNUC_PREREQ(maj, min) 0 +# endif +#endif + +#if __GNUC_PREREQ (3,4) +# undef __attribute_warn_unused_result__ +# define __attribute_warn_unused_result__ \ + __attribute__ ((__warn_unused_result__)) +#else +# define __attribute_warn_unused_result__ /* empty */ +#endif + +char *offtostr (off_t, char *) __attribute_warn_unused_result__; +char *imaxtostr (intmax_t, char *) __attribute_warn_unused_result__; +char *umaxtostr (uintmax_t, char *) __attribute_warn_unused_result__; +char *uinttostr (unsigned int, char *) __attribute_warn_unused_result__;