diff options
| -rw-r--r-- | libc/include/android/legacy_stdlib_inlines.h | 24 | ||||
| -rw-r--r-- | libc/include/stdlib.h | 11 |
2 files changed, 24 insertions, 11 deletions
diff --git a/libc/include/android/legacy_stdlib_inlines.h b/libc/include/android/legacy_stdlib_inlines.h index e26e5f22ab..a1cc590efd 100644 --- a/libc/include/android/legacy_stdlib_inlines.h +++ b/libc/include/android/legacy_stdlib_inlines.h @@ -34,6 +34,22 @@ #include <stdlib.h> #include <sys/cdefs.h> +#if __ANDROID_API__ < __ANDROID_API_K__ + +__BEGIN_DECLS + +static __inline int abs(int __n) { return (__n < 0) ? -__n : __n; } + +static __inline long labs(long __n) { return (__n < 0L) ? -__n : __n; } + +static __inline long long llabs(long long __n) { + return (__n < 0LL) ? -__n : __n; +} + +__END_DECLS + +#endif + #if __ANDROID_API__ < __ANDROID_API_L__ __BEGIN_DECLS @@ -52,14 +68,6 @@ static __inline float strtof(const char* nptr, char** endptr) { static __inline double atof(const char *nptr) { return (strtod(nptr, NULL)); } -static __inline int abs(int __n) { return (__n < 0) ? -__n : __n; } - -static __inline long labs(long __n) { return (__n < 0L) ? -__n : __n; } - -static __inline long long llabs(long long __n) { - return (__n < 0LL) ? -__n : __n; -} - static __inline int rand(void) { return (int)lrand48(); } static __inline void srand(unsigned int __s) { srand48(__s); } diff --git a/libc/include/stdlib.h b/libc/include/stdlib.h index 1ae3c6e9a0..944d72ba9d 100644 --- a/libc/include/stdlib.h +++ b/libc/include/stdlib.h @@ -172,12 +172,17 @@ size_t __ctype_get_mb_cur_max(void) __INTRODUCED_IN(21); #include <bits/fortify/stdlib.h> #endif +#if __ANDROID_API__ >= __ANDROID_API_K__ +int abs(int __x) __attribute_const__ __INTRODUCED_IN(19); +long labs(long __x) __attribute_const__ __INTRODUCED_IN(19); +long long llabs(long long __x) __attribute_const__ __INTRODUCED_IN(19); +#else +// Implemented as static inlines before 19. +#endif + #if __ANDROID_API__ >= __ANDROID_API_L__ float strtof(const char* __s, char** __end_ptr) __INTRODUCED_IN(21); double atof(const char* __s) __attribute_pure__ __INTRODUCED_IN(21); -int abs(int __x) __attribute_const__ __INTRODUCED_IN(21); -long labs(long __x) __attribute_const__ __INTRODUCED_IN(21); -long long llabs(long long __x) __attribute_const__ __INTRODUCED_IN(21); int rand(void) __INTRODUCED_IN(21); void srand(unsigned int __seed) __INTRODUCED_IN(21); long random(void) __INTRODUCED_IN(21); |
