summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--stdlib/stdlib.h32
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 */