| Index: third_party/libcxx/include/cstdlib
|
| ===================================================================
|
| --- third_party/libcxx/include/cstdlib (revision 0)
|
| +++ third_party/libcxx/include/cstdlib (revision 0)
|
| @@ -0,0 +1,172 @@
|
| +// -*- C++ -*-
|
| +//===--------------------------- cstdlib ----------------------------------===//
|
| +//
|
| +// The LLVM Compiler Infrastructure
|
| +//
|
| +// This file is dual licensed under the MIT and the University of Illinois Open
|
| +// Source Licenses. See LICENSE.TXT for details.
|
| +//
|
| +//===----------------------------------------------------------------------===//
|
| +
|
| +#ifndef _LIBCPP_CSTDLIB
|
| +#define _LIBCPP_CSTDLIB
|
| +
|
| +/*
|
| + cstdlib synopsis
|
| +
|
| +Macros:
|
| +
|
| + EXIT_FAILURE
|
| + EXIT_SUCCESS
|
| + MB_CUR_MAX
|
| + NULL
|
| + RAND_MAX
|
| +
|
| +namespace std
|
| +{
|
| +
|
| +Types:
|
| +
|
| + size_t
|
| + div_t
|
| + ldiv_t
|
| + lldiv_t // C99
|
| +
|
| +double atof (const char* nptr);
|
| +int atoi (const char* nptr);
|
| +long atol (const char* nptr);
|
| +long long atoll(const char* nptr); // C99
|
| +double strtod (const char* restrict nptr, char** restrict endptr);
|
| +float strtof (const char* restrict nptr, char** restrict endptr); // C99
|
| +long double strtold (const char* restrict nptr, char** restrict endptr); // C99
|
| +long strtol (const char* restrict nptr, char** restrict endptr, int base);
|
| +long long strtoll (const char* restrict nptr, char** restrict endptr, int base); // C99
|
| +unsigned long strtoul (const char* restrict nptr, char** restrict endptr, int base);
|
| +unsigned long long strtoull(const char* restrict nptr, char** restrict endptr, int base); // C99
|
| +int rand(void);
|
| +void srand(unsigned int seed);
|
| +void* calloc(size_t nmemb, size_t size);
|
| +void free(void* ptr);
|
| +void* malloc(size_t size);
|
| +void* realloc(void* ptr, size_t size);
|
| +void abort(void);
|
| +int atexit(void (*func)(void));
|
| +void exit(int status);
|
| +void _Exit(int status);
|
| +char* getenv(const char* name);
|
| +int system(const char* string);
|
| +void* bsearch(const void* key, const void* base, size_t nmemb, size_t size,
|
| + int (*compar)(const void *, const void *));
|
| +void qsort(void* base, size_t nmemb, size_t size,
|
| + int (*compar)(const void *, const void *));
|
| +int abs( int j);
|
| +long abs( long j);
|
| +long long abs(long long j); // C++0X
|
| +long labs( long j);
|
| +long long llabs(long long j); // C99
|
| +div_t div( int numer, int denom);
|
| +ldiv_t div( long numer, long denom);
|
| +lldiv_t div(long long numer, long long denom); // C++0X
|
| +ldiv_t ldiv( long numer, long denom);
|
| +lldiv_t lldiv(long long numer, long long denom); // C99
|
| +int mblen(const char* s, size_t n);
|
| +int mbtowc(wchar_t* restrict pwc, const char* restrict s, size_t n);
|
| +int wctomb(char* s, wchar_t wchar);
|
| +size_t mbstowcs(wchar_t* restrict pwcs, const char* restrict s, size_t n);
|
| +size_t wcstombs(char* restrict s, const wchar_t* restrict pwcs, size_t n);
|
| +int at_quick_exit(void (*func)(void)) // C++11
|
| +void quick_exit(int status); // C++11
|
| +void *aligned_alloc(size_t alignment, size_t size); // C11
|
| +
|
| +} // std
|
| +
|
| +*/
|
| +
|
| +#include <__config>
|
| +#include <stdlib.h>
|
| +#ifdef _LIBCPP_MSVCRT
|
| +#include "support/win32/locale_win32.h"
|
| +#endif // _LIBCPP_MSVCRT
|
| +
|
| +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
| +#pragma GCC system_header
|
| +#endif
|
| +
|
| +_LIBCPP_BEGIN_NAMESPACE_STD
|
| +
|
| +using ::size_t;
|
| +using ::div_t;
|
| +using ::ldiv_t;
|
| +#ifndef _LIBCPP_HAS_NO_LONG_LONG
|
| +using ::lldiv_t;
|
| +#endif // _LIBCPP_HAS_NO_LONG_LONG
|
| +using ::atof;
|
| +using ::atoi;
|
| +using ::atol;
|
| +#ifndef _LIBCPP_HAS_NO_LONG_LONG
|
| +using ::atoll;
|
| +#endif // _LIBCPP_HAS_NO_LONG_LONG
|
| +using ::strtod;
|
| +using ::strtof;
|
| +using ::strtold;
|
| +using ::strtol;
|
| +#ifndef _LIBCPP_HAS_NO_LONG_LONG
|
| +using ::strtoll;
|
| +#endif // _LIBCPP_HAS_NO_LONG_LONG
|
| +using ::strtoul;
|
| +#ifndef _LIBCPP_HAS_NO_LONG_LONG
|
| +using ::strtoull;
|
| +#endif // _LIBCPP_HAS_NO_LONG_LONG
|
| +using ::rand;
|
| +using ::srand;
|
| +using ::calloc;
|
| +using ::free;
|
| +using ::malloc;
|
| +using ::realloc;
|
| +using ::abort;
|
| +using ::atexit;
|
| +using ::exit;
|
| +using ::_Exit;
|
| +using ::getenv;
|
| +using ::system;
|
| +using ::bsearch;
|
| +using ::qsort;
|
| +using ::abs;
|
| +using ::labs;
|
| +#ifndef _LIBCPP_HAS_NO_LONG_LONG
|
| +using ::llabs;
|
| +#endif // _LIBCPP_HAS_NO_LONG_LONG
|
| +using ::div;
|
| +using ::ldiv;
|
| +#ifndef _LIBCPP_HAS_NO_LONG_LONG
|
| +using ::lldiv;
|
| +#endif // _LIBCPP_HAS_NO_LONG_LONG
|
| +using ::mblen;
|
| +using ::mbtowc;
|
| +using ::wctomb;
|
| +using ::mbstowcs;
|
| +using ::wcstombs;
|
| +#ifdef _LIBCPP_HAS_QUICK_EXIT
|
| +using ::at_quick_exit;
|
| +using ::quick_exit;
|
| +#endif
|
| +#ifdef _LIBCPP_HAS_C11_FEATURES
|
| +using ::aligned_alloc;
|
| +#endif
|
| +
|
| +// MSVCRT already has the correct prototype in <stdlib.h> #ifdef __cplusplus
|
| +#if !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_AIX)
|
| +inline _LIBCPP_INLINE_VISIBILITY long abs( long __x) _NOEXCEPT {return labs(__x);}
|
| +#ifndef _LIBCPP_HAS_NO_LONG_LONG
|
| +inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {return llabs(__x);}
|
| +#endif // _LIBCPP_HAS_NO_LONG_LONG
|
| +
|
| +inline _LIBCPP_INLINE_VISIBILITY ldiv_t div( long __x, long __y) _NOEXCEPT {return ldiv(__x, __y);}
|
| +#ifndef _LIBCPP_HAS_NO_LONG_LONG
|
| +inline _LIBCPP_INLINE_VISIBILITY lldiv_t div(long long __x, long long __y) _NOEXCEPT {return lldiv(__x, __y);}
|
| +#endif // _LIBCPP_HAS_NO_LONG_LONG
|
| +#endif // _LIBCPP_MSVCRT
|
| +
|
| +_LIBCPP_END_NAMESPACE_STD
|
| +
|
| +#endif // _LIBCPP_CSTDLIB
|
|
|