13e519524SHoward Hinnant// -*- C++ -*- 23e519524SHoward Hinnant//===--------------------------- cstdlib ----------------------------------===// 33e519524SHoward Hinnant// 45b08a8a4SHoward Hinnant// The LLVM Compiler Infrastructure 53e519524SHoward Hinnant// 6*412dbebeSHoward Hinnant// This file is dual licensed under the MIT and the University of Illinois Open 7*412dbebeSHoward Hinnant// Source Licenses. See LICENSE.TXT for details. 83e519524SHoward Hinnant// 93e519524SHoward Hinnant//===----------------------------------------------------------------------===// 103e519524SHoward Hinnant 113e519524SHoward Hinnant#ifndef _LIBCPP_CSTDLIB 123e519524SHoward Hinnant#define _LIBCPP_CSTDLIB 133e519524SHoward Hinnant 143e519524SHoward Hinnant/* 153e519524SHoward Hinnant cstdlib synopsis 163e519524SHoward Hinnant 173e519524SHoward HinnantMacros: 183e519524SHoward Hinnant 193e519524SHoward Hinnant EXIT_FAILURE 203e519524SHoward Hinnant EXIT_SUCCESS 213e519524SHoward Hinnant MB_CUR_MAX 223e519524SHoward Hinnant NULL 233e519524SHoward Hinnant RAND_MAX 243e519524SHoward Hinnant 253e519524SHoward Hinnantnamespace std 263e519524SHoward Hinnant{ 273e519524SHoward Hinnant 283e519524SHoward HinnantTypes: 293e519524SHoward Hinnant 303e519524SHoward Hinnant size_t 313e519524SHoward Hinnant div_t 323e519524SHoward Hinnant ldiv_t 333e519524SHoward Hinnant lldiv_t // C99 343e519524SHoward Hinnant 353e519524SHoward Hinnantdouble atof (const char* nptr); 363e519524SHoward Hinnantint atoi (const char* nptr); 373e519524SHoward Hinnantlong atol (const char* nptr); 383e519524SHoward Hinnantlong long atoll(const char* nptr); // C99 393e519524SHoward Hinnantdouble strtod (const char* restrict nptr, char** restrict endptr); 403e519524SHoward Hinnantfloat strtof (const char* restrict nptr, char** restrict endptr); // C99 413e519524SHoward Hinnantlong double strtold (const char* restrict nptr, char** restrict endptr); // C99 423e519524SHoward Hinnantlong strtol (const char* restrict nptr, char** restrict endptr, int base); 433e519524SHoward Hinnantlong long strtoll (const char* restrict nptr, char** restrict endptr, int base); // C99 443e519524SHoward Hinnantunsigned long strtoul (const char* restrict nptr, char** restrict endptr, int base); 453e519524SHoward Hinnantunsigned long long strtoull(const char* restrict nptr, char** restrict endptr, int base); // C99 463e519524SHoward Hinnantint rand(void); 473e519524SHoward Hinnantvoid srand(unsigned int seed); 483e519524SHoward Hinnantvoid* calloc(size_t nmemb, size_t size); 493e519524SHoward Hinnantvoid free(void* ptr); 503e519524SHoward Hinnantvoid* malloc(size_t size); 513e519524SHoward Hinnantvoid* realloc(void* ptr, size_t size); 523e519524SHoward Hinnantvoid abort(void); 533e519524SHoward Hinnantint atexit(void (*func)(void)); 543e519524SHoward Hinnantvoid exit(int status); 553e519524SHoward Hinnantvoid _Exit(int status); 563e519524SHoward Hinnantchar* getenv(const char* name); 573e519524SHoward Hinnantint system(const char* string); 583e519524SHoward Hinnantvoid* bsearch(const void* key, const void* base, size_t nmemb, size_t size, 593e519524SHoward Hinnant int (*compar)(const void *, const void *)); 603e519524SHoward Hinnantvoid qsort(void* base, size_t nmemb, size_t size, 613e519524SHoward Hinnant int (*compar)(const void *, const void *)); 623e519524SHoward Hinnantint abs( int j); 633e519524SHoward Hinnantlong abs( long j); 643e519524SHoward Hinnantlong long abs(long long j); // C++0X 653e519524SHoward Hinnantlong labs( long j); 663e519524SHoward Hinnantlong long llabs(long long j); // C99 673e519524SHoward Hinnantdiv_t div( int numer, int denom); 683e519524SHoward Hinnantldiv_t div( long numer, long denom); 693e519524SHoward Hinnantlldiv_t div(long long numer, long long denom); // C++0X 703e519524SHoward Hinnantldiv_t ldiv( long numer, long denom); 713e519524SHoward Hinnantlldiv_t lldiv(long long numer, long long denom); // C99 723e519524SHoward Hinnantint mblen(const char* s, size_t n); 733e519524SHoward Hinnantint mbtowc(wchar_t* restrict pwc, const char* restrict s, size_t n); 743e519524SHoward Hinnantint wctomb(char* s, wchar_t wchar); 753e519524SHoward Hinnantsize_t mbstowcs(wchar_t* restrict pwcs, const char* restrict s, size_t n); 763e519524SHoward Hinnantsize_t wcstombs(char* restrict s, const wchar_t* restrict pwcs, size_t n); 773e519524SHoward Hinnant 783e519524SHoward Hinnant} // std 793e519524SHoward Hinnant 803e519524SHoward Hinnant*/ 813e519524SHoward Hinnant 823e519524SHoward Hinnant#include <__config> 833e519524SHoward Hinnant#include <stdlib.h> 843e519524SHoward Hinnant 853e519524SHoward Hinnant#pragma GCC system_header 863e519524SHoward Hinnant 873e519524SHoward Hinnant_LIBCPP_BEGIN_NAMESPACE_STD 883e519524SHoward Hinnant 893e519524SHoward Hinnantusing ::size_t; 903e519524SHoward Hinnantusing ::div_t; 913e519524SHoward Hinnantusing ::ldiv_t; 923e519524SHoward Hinnantusing ::lldiv_t; 933e519524SHoward Hinnantusing ::atof; 943e519524SHoward Hinnantusing ::atoi; 953e519524SHoward Hinnantusing ::atol; 963e519524SHoward Hinnantusing ::atoll; 973e519524SHoward Hinnantusing ::strtod; 983e519524SHoward Hinnantusing ::strtof; 993e519524SHoward Hinnantusing ::strtold; 1003e519524SHoward Hinnantusing ::strtol; 1013e519524SHoward Hinnantusing ::strtoll; 1023e519524SHoward Hinnantusing ::strtoul; 1033e519524SHoward Hinnantusing ::strtoull; 1043e519524SHoward Hinnantusing ::rand; 1053e519524SHoward Hinnantusing ::srand; 1063e519524SHoward Hinnantusing ::calloc; 1073e519524SHoward Hinnantusing ::free; 1083e519524SHoward Hinnantusing ::malloc; 1093e519524SHoward Hinnantusing ::realloc; 1103e519524SHoward Hinnantusing ::abort; 1113e519524SHoward Hinnantusing ::atexit; 1123e519524SHoward Hinnantusing ::exit; 1133e519524SHoward Hinnantusing ::_Exit; 1143e519524SHoward Hinnantusing ::getenv; 1153e519524SHoward Hinnantusing ::system; 1163e519524SHoward Hinnantusing ::bsearch; 1173e519524SHoward Hinnantusing ::qsort; 1183e519524SHoward Hinnantusing ::abs; 1193e519524SHoward Hinnantusing ::labs; 1203e519524SHoward Hinnantusing ::llabs; 1213e519524SHoward Hinnantusing ::div; 1223e519524SHoward Hinnantusing ::ldiv; 1233e519524SHoward Hinnantusing ::lldiv; 1243e519524SHoward Hinnantusing ::mblen; 1253e519524SHoward Hinnantusing ::mbtowc; 1263e519524SHoward Hinnantusing ::wctomb; 1273e519524SHoward Hinnantusing ::mbstowcs; 1283e519524SHoward Hinnantusing ::wcstombs; 1293e519524SHoward Hinnant 1303e519524SHoward Hinnantinline _LIBCPP_INLINE_VISIBILITY long abs( long __x) {return labs(__x);} 1313e519524SHoward Hinnantinline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) {return llabs(__x);} 1323e519524SHoward Hinnant 1333e519524SHoward Hinnantinline _LIBCPP_INLINE_VISIBILITY ldiv_t div( long __x, long __y) {return ldiv(__x, __y);} 1343e519524SHoward Hinnantinline _LIBCPP_INLINE_VISIBILITY lldiv_t div(long long __x, long long __y) {return lldiv(__x, __y);} 1353e519524SHoward Hinnant 1363e519524SHoward Hinnant_LIBCPP_END_NAMESPACE_STD 1373e519524SHoward Hinnant 1383e519524SHoward Hinnant#endif // _LIBCPP_CSTDLIB 139