diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | stdlib/stdlib.h | 32 |
2 files changed, 27 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog index e9592e5026..1a55bd7692 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2013-04-23 Paul Eggert <eggert@cs.ucla.edu> + + [BZ #13970] + * stdlib/stdlib.h: Remove warn_unused_result attribute from strtol etc. + (strtod, strtof, strtold, strtol, strtoul, strtoq) + (strtouq, strtoll, strtoull, strtol_l, strtoul_l, strtoll_l, strtoull_l) + (strtod_l, strtof_l, strtold_l): Remove __wur. + It is not necessarily an error to ignore strtol's return value. + One can reliably look at the stored endptr to decide whether + the number had valid syntax. + 2012-04-21 Andreas Jaeger <aj@suse.de> [BZ #13739] diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h index 4da4678f87..cdc9e02e13 100644 --- a/stdlib/stdlib.h +++ b/stdlib/stdlib.h @@ -163,18 +163,18 @@ __BEGIN_NAMESPACE_STD /* Convert a string to a floating-point number. */ extern double strtod (const char *__restrict __nptr, char **__restrict __endptr) - __THROW __nonnull ((1)) __wur; + __THROW __nonnull ((1)); __END_NAMESPACE_STD #ifdef __USE_ISOC99 __BEGIN_NAMESPACE_C99 /* Likewise for `float' and `long double' sizes of floating-point numbers. */ extern float strtof (const char *__restrict __nptr, - char **__restrict __endptr) __THROW __nonnull ((1)) __wur; + char **__restrict __endptr) __THROW __nonnull ((1)); extern long double strtold (const char *__restrict __nptr, char **__restrict __endptr) - __THROW __nonnull ((1)) __wur; + __THROW __nonnull ((1)); __END_NAMESPACE_C99 #endif @@ -182,11 +182,11 @@ __BEGIN_NAMESPACE_STD /* Convert a string to a long integer. */ extern long int strtol (const char *__restrict __nptr, char **__restrict __endptr, int __base) - __THROW __nonnull ((1)) __wur; + __THROW __nonnull ((1)); /* Convert a string to an unsigned long integer. */ extern unsigned long int strtoul (const char *__restrict __nptr, char **__restrict __endptr, int __base) - __THROW __nonnull ((1)) __wur; + __THROW __nonnull ((1)); __END_NAMESPACE_STD #if defined __GLIBC_HAVE_LONG_LONG && defined __USE_BSD @@ -194,12 +194,12 @@ __END_NAMESPACE_STD __extension__ extern long long int strtoq (const char *__restrict __nptr, char **__restrict __endptr, int __base) - __THROW __nonnull ((1)) __wur; + __THROW __nonnull ((1)); /* Convert a string to an unsigned quadword integer. */ __extension__ extern unsigned long long int strtouq (const char *__restrict __nptr, char **__restrict __endptr, int __base) - __THROW __nonnull ((1)) __wur; + __THROW __nonnull ((1)); #endif /* GCC and use BSD. */ #if defined __USE_ISOC99 || (defined __GLIBC_HAVE_LONG_LONG && defined __USE_MISC) @@ -208,12 +208,12 @@ __BEGIN_NAMESPACE_C99 __extension__ extern long long int strtoll (const char *__restrict __nptr, char **__restrict __endptr, int __base) - __THROW __nonnull ((1)) __wur; + __THROW __nonnull ((1)); /* Convert a string to an unsigned quadword integer. */ __extension__ extern unsigned long long int strtoull (const char *__restrict __nptr, char **__restrict __endptr, int __base) - __THROW __nonnull ((1)) __wur; + __THROW __nonnull ((1)); __END_NAMESPACE_C99 #endif /* ISO C99 or GCC and use MISC. */ @@ -238,37 +238,37 @@ __END_NAMESPACE_C99 use as an additional parameter. */ extern long int strtol_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, - __locale_t __loc) __THROW __nonnull ((1, 4)) __wur; + __locale_t __loc) __THROW __nonnull ((1, 4)); extern unsigned long int strtoul_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) - __THROW __nonnull ((1, 4)) __wur; + __THROW __nonnull ((1, 4)); __extension__ extern long long int strtoll_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) - __THROW __nonnull ((1, 4)) __wur; + __THROW __nonnull ((1, 4)); __extension__ extern unsigned long long int strtoull_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) - __THROW __nonnull ((1, 4)) __wur; + __THROW __nonnull ((1, 4)); extern double strtod_l (const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) - __THROW __nonnull ((1, 3)) __wur; + __THROW __nonnull ((1, 3)); extern float strtof_l (const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) - __THROW __nonnull ((1, 3)) __wur; + __THROW __nonnull ((1, 3)); extern long double strtold_l (const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) - __THROW __nonnull ((1, 3)) __wur; + __THROW __nonnull ((1, 3)); #endif /* GNU */ |