diff options
Diffstat (limited to 'stdlib')
-rw-r--r-- | stdlib/Makefile | 2 | ||||
-rw-r--r-- | stdlib/bits/stdlib-float.h | 31 | ||||
-rw-r--r-- | stdlib/stdlib.h | 6 |
3 files changed, 33 insertions, 6 deletions
diff --git a/stdlib/Makefile b/stdlib/Makefile index 57830a8cb9..5e99d7f7a9 100644 --- a/stdlib/Makefile +++ b/stdlib/Makefile @@ -20,7 +20,7 @@ # subdir := stdlib -headers := stdlib.h bits/stdlib.h bits/stdlib-ldbl.h \ +headers := stdlib.h bits/stdlib.h bits/stdlib-ldbl.h bits/stdlib-float.h \ monetary.h bits/monetary-ldbl.h \ inttypes.h stdint.h bits/wordsize.h \ errno.h sys/errno.h bits/errno.h \ diff --git a/stdlib/bits/stdlib-float.h b/stdlib/bits/stdlib-float.h new file mode 100644 index 0000000000..46f3a32841 --- /dev/null +++ b/stdlib/bits/stdlib-float.h @@ -0,0 +1,31 @@ +/* Floating-point inline functions for stdlib.h. + Copyright (C) 2012 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef _STDLIB_H +# error "Never use <bits/stdlib-float.h> directly; include <stdlib.h> instead." +#endif + +#ifdef __USE_EXTERN_INLINES +__BEGIN_NAMESPACE_STD +__extern_inline double +__NTH (atof (const char *__nptr)) +{ + return strtod (__nptr, (char **) NULL); +} +__END_NAMESPACE_STD +#endif /* Optimizing and Inlining. */ diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h index cf3f39ca84..0eb982cbbc 100644 --- a/stdlib/stdlib.h +++ b/stdlib/stdlib.h @@ -274,11 +274,6 @@ extern long double strtold_l (const char *__restrict __nptr, #ifdef __USE_EXTERN_INLINES __BEGIN_NAMESPACE_STD -__extern_inline double -__NTH (atof (const char *__nptr)) -{ - return strtod (__nptr, (char **) NULL); -} __extern_inline int __NTH (atoi (const char *__nptr)) { @@ -953,6 +948,7 @@ extern int getloadavg (double __loadavg[], int __nelem) __THROW __nonnull ((1)); #endif +#include <bits/stdlib-float.h> /* Define some macros helping to catch buffer overflows. */ #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function |