blob: 10fc03e7ce0bf88a5c8ce3652fdb9fa67948c8c6 [file] [log] [blame]
// C standard library exports for -*- C++ -*- std and std.compat modules
// This file is appended to std.cc.in or std-compat.cc.in.
#ifdef STD_COMPAT
#define C_LIB_NAMESPACE
#else
#define C_LIB_NAMESPACE namespace std
#endif
// C standard library headers [tab:headers.cpp.c]
// 19.3 <cassert>
// No exports
// 23.5.1 <cctype>
export C_LIB_NAMESPACE
{
using std::isalnum;
using std::isalpha;
#ifdef _GLIBCXX_USE_C99_CTYPE
using std::isblank;
#endif
using std::iscntrl;
using std::isdigit;
using std::isgraph;
using std::islower;
using std::isprint;
using std::ispunct;
using std::isspace;
using std::isupper;
using std::isxdigit;
using std::tolower;
using std::toupper;
}
// 19.4 <cerrno>
// No exports
// 28.3 <cfenv>
export C_LIB_NAMESPACE
{
#ifdef _GLIBCXX_USE_C99_FENV
using std::feclearexcept;
using std::fegetenv;
using std::fegetexceptflag;
using std::fegetround;
using std::feholdexcept;
using std::fenv_t;
using std::feraiseexcept;
using std::fesetenv;
using std::fesetexceptflag;
using std::fesetround;
using std::fetestexcept;
using std::feupdateenv;
using std::fexcept_t;
#endif
}
// 17.3.7 <cfloat> [cfloat.syn]
// No exports, only provides macros
// 31.13.2 <cinttypes>
export C_LIB_NAMESPACE
{
#ifdef _GLIBCXX_USE_C99_INTTYPES
using std::imaxabs;
using std::imaxdiv;
using std::imaxdiv_t;
using std::strtoimax;
using std::strtoumax;
#if defined(_GLIBCXX_USE_WCHAR_T) && _GLIBCXX_USE_C99_INTTYPES_WCHAR_T
using std::wcstoimax;
using std::wcstoumax;
#endif
#endif
}
// 17.3.6 <climits> [climits.syn]
// No exports, only provides macros
// 30.5 <clocale>
export C_LIB_NAMESPACE
{
using std::lconv;
using std::localeconv;
using std::setlocale;
// LC_* macros not exported
}
// 28.7.1 <cmath>
export C_LIB_NAMESPACE
{
using std::abs;
using std::acos;
using std::acosf;
using std::acosh;
using std::acoshf;
using std::acoshl;
using std::acosl;
using std::asin;
using std::asinf;
using std::asinh;
using std::asinhf;
using std::asinhl;
using std::asinl;
using std::atan;
using std::atan2;
using std::atan2f;
using std::atan2l;
using std::atanf;
using std::atanh;
using std::atanhf;
using std::atanhl;
using std::atanl;
using std::cbrt;
using std::cbrtf;
using std::cbrtl;
using std::ceil;
using std::ceilf;
using std::ceill;
using std::copysign;
using std::copysignf;
using std::copysignl;
using std::cos;
using std::cosf;
using std::cosh;
using std::coshf;
using std::coshl;
using std::cosl;
using std::double_t;
using std::erf;
using std::erfc;
using std::erfcf;
using std::erfcl;
using std::erff;
using std::erfl;
using std::exp;
using std::exp2;
using std::exp2f;
using std::exp2l;
using std::expf;
using std::expl;
using std::expm1;
using std::expm1f;
using std::expm1l;
using std::fabs;
using std::fabsf;
using std::fabsl;
using std::fdim;
using std::fdimf;
using std::fdiml;
using std::float_t;
using std::floor;
using std::floorf;
using std::floorl;
using std::fma;
using std::fmaf;
using std::fmal;
using std::fmax;
using std::fmaxf;
using std::fmaxl;
using std::fmin;
using std::fminf;
using std::fminl;
using std::fmod;
using std::fmodf;
using std::fmodl;
using std::fpclassify;
using std::frexp;
using std::frexpf;
using std::frexpl;
using std::hypot;
using std::hypotf;
using std::hypotl;
using std::ilogb;
using std::ilogbf;
using std::ilogbl;
using std::isfinite;
using std::isgreater;
using std::isgreaterequal;
using std::isinf;
using std::isless;
using std::islessequal;
using std::islessgreater;
using std::isnan;
using std::isnormal;
using std::isunordered;
using std::ldexp;
using std::ldexpf;
using std::ldexpl;
#ifndef STD_COMPAT
using std::lerp;
#endif
using std::lgamma;
using std::lgammaf;
using std::lgammal;
using std::llrint;
using std::llrintf;
using std::llrintl;
using std::llround;
using std::llroundf;
using std::llroundl;
using std::log;
using std::log10;
using std::log10f;
using std::log10l;
using std::log1p;
using std::log1pf;
using std::log1pl;
using std::log2;
using std::log2f;
using std::log2l;
using std::logb;
using std::logbf;
using std::logbl;
using std::logf;
using std::logl;
using std::lrint;
using std::lrintf;
using std::lrintl;
using std::lround;
using std::lroundf;
using std::lroundl;
using std::modf;
using std::modff;
using std::modfl;
using std::nan;
using std::nanf;
using std::nanl;
using std::nearbyint;
using std::nearbyintf;
using std::nearbyintl;
using std::nextafter;
using std::nextafterf;
using std::nextafterl;
using std::nexttoward;
using std::nexttowardf;
using std::nexttowardl;
using std::pow;
using std::powf;
using std::powl;
using std::remainder;
using std::remainderf;
using std::remainderl;
using std::remquo;
using std::remquof;
using std::remquol;
using std::rint;
using std::rintf;
using std::rintl;
using std::round;
using std::roundf;
using std::roundl;
using std::scalbln;
using std::scalblnf;
using std::scalblnl;
using std::scalbn;
using std::scalbnf;
using std::scalbnl;
using std::signbit;
using std::sin;
using std::sinf;
using std::sinh;
using std::sinhf;
using std::sinhl;
using std::sinl;
using std::sqrt;
using std::sqrtf;
using std::sqrtl;
using std::tan;
using std::tanf;
using std::tanh;
using std::tanhf;
using std::tanhl;
using std::tanl;
using std::tgamma;
using std::tgammaf;
using std::tgammal;
using std::trunc;
using std::truncf;
using std::truncl;
#if __cpp_lib_math_special_functions && !defined(STD_COMPAT)
using std::assoc_laguerre;
using std::assoc_laguerref;
using std::assoc_laguerrel;
using std::assoc_legendre;
using std::assoc_legendref;
using std::assoc_legendrel;
using std::beta;
using std::betaf;
using std::betal;
using std::comp_ellint_1;
using std::comp_ellint_1f;
using std::comp_ellint_1l;
using std::comp_ellint_2;
using std::comp_ellint_2f;
using std::comp_ellint_2l;
using std::comp_ellint_3;
using std::comp_ellint_3f;
using std::comp_ellint_3l;
using std::cyl_bessel_i;
using std::cyl_bessel_if;
using std::cyl_bessel_il;
using std::cyl_bessel_j;
using std::cyl_bessel_jf;
using std::cyl_bessel_jl;
using std::cyl_bessel_k;
using std::cyl_bessel_kf;
using std::cyl_bessel_kl;
using std::cyl_neumann;
using std::cyl_neumannf;
using std::cyl_neumannl;
using std::ellint_1;
using std::ellint_1f;
using std::ellint_1l;
using std::ellint_2;
using std::ellint_2f;
using std::ellint_2l;
using std::ellint_3;
using std::ellint_3f;
using std::ellint_3l;
using std::expint;
using std::expintf;
using std::expintl;
using std::hermite;
using std::hermitef;
using std::hermitel;
using std::legendre;
using std::legendref;
using std::legendrel;
using std::laguerre;
using std::laguerref;
using std::laguerrel;
using std::riemann_zeta;
using std::riemann_zetaf;
using std::riemann_zetal;
using std::sph_bessel;
using std::sph_besself;
using std::sph_bessell;
using std::sph_legendre;
using std::sph_legendref;
using std::sph_legendrel;
using std::sph_neumann;
using std::sph_neumannf;
using std::sph_neumannl;
#endif
}
// 17.13.3 <csetjmp>
export C_LIB_NAMESPACE
{
using std::jmp_buf;
using std::longjmp;
// setjmp macro not exported
}
// 17.13.4 <csignal>
export C_LIB_NAMESPACE
{
using std::raise;
using std::sig_atomic_t;
using std::signal;
// SIG_* macros not exported
}
// 17.13.2 <cstdarg>
export C_LIB_NAMESPACE
{
using std::va_list;
// va_arg and friend macros not exported
}
// 17.2.1 <cstddef> [cstddef.syn]
export C_LIB_NAMESPACE
{
using std::max_align_t;
using std::nullptr_t;
using std::ptrdiff_t;
using std::size_t;
#ifndef STD_COMPAT
using std::byte;
using std::operator<<=;
using std::operator<<;
using std::operator>>=;
using std::operator>>;
using std::operator|=;
using std::operator|;
using std::operator&=;
using std::operator&;
using std::operator^=;
using std::operator^;
using std::operator~;
using std::to_integer;
#endif
// NULL and offsetof macros not exported
}
// 17.4 <cstdint>
export C_LIB_NAMESPACE
{
using std::int8_t;
using std::int16_t;
using std::int32_t;
using std::int64_t;
using std::int_fast16_t;
using std::int_fast32_t;
using std::int_fast64_t;
using std::int_fast8_t;
using std::int_least16_t;
using std::int_least32_t;
using std::int_least64_t;
using std::int_least8_t;
using std::intmax_t;
using std::intptr_t;
using std::uint8_t;
using std::uint16_t;
using std::uint32_t;
using std::uint64_t;
using std::uint_fast16_t;
using std::uint_fast32_t;
using std::uint_fast64_t;
using std::uint_fast8_t;
using std::uint_least16_t;
using std::uint_least32_t;
using std::uint_least64_t;
using std::uint_least8_t;
using std::uintmax_t;
using std::uintptr_t;
}
// 31.13.1 <cstdio>
export C_LIB_NAMESPACE
{
using std::clearerr;
using std::fclose;
using std::feof;
using std::ferror;
using std::fflush;
using std::fgetc;
using std::fgetpos;
using std::fgets;
using std::FILE;
using std::fopen;
using std::fpos_t;
using std::fprintf;
using std::fputc;
using std::fputs;
using std::fread;
using std::freopen;
using std::fscanf;
using std::fseek;
using std::fsetpos;
using std::ftell;
using std::fwrite;
using std::getc;
using std::getchar;
using std::perror;
using std::printf;
using std::putc;
using std::putchar;
using std::puts;
using std::remove;
using std::rename;
using std::rewind;
using std::scanf;
using std::setbuf;
using std::setvbuf;
using std::size_t;
using std::snprintf;
using std::sprintf;
using std::sscanf;
using std::tmpfile;
#if _GLIBCXX_USE_TMPNAM
using std::tmpnam;
#endif
using std::ungetc;
using std::vfprintf;
using std::vfscanf;
using std::vprintf;
using std::vscanf;
using std::vsnprintf;
using std::vsprintf;
using std::vsscanf;
}
// 17.2.2 <cstdlib> [cstdlib.syn]
export C_LIB_NAMESPACE
{
using std::_Exit;
using std::abort;
using std::abs;
#ifdef _GLIBCXX_HAVE_ALIGNED_ALLOC
using std::aligned_alloc;
#endif
#ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT
using std::at_quick_exit;
#endif
using std::atexit;
using std::atof;
using std::atoi;
using std::atol;
using std::atoll;
using std::bsearch;
using std::calloc;
using std::div;
using std::div_t;
using std::exit;
using std::free;
using std::getenv;
using std::labs;
using std::ldiv;
using std::ldiv_t;
using std::llabs;
using std::lldiv;
using std::lldiv_t;
using std::malloc;
#ifdef _GLIBCXX_HAVE_MBSTATE_T
using std::mblen;
using std::mbstowcs;
using std::mbtowc;
#endif
using std::qsort;
#ifdef _GLIBCXX_HAVE_QUICK_EXIT
using std::quick_exit;
#endif
using std::rand;
using std::realloc;
using std::size_t;
using std::srand;
using std::strtod;
using std::strtof;
using std::strtol;
using std::strtold;
using std::strtoll;
using std::strtoul;
using std::strtoull;
using std::system;
#ifdef _GLIBCXX_USE_WCHAR_T
using std::wcstombs;
using std::wctomb;
#endif
}
// 23.5.3 <cstring>
export C_LIB_NAMESPACE
{
using std::memchr;
using std::memcmp;
using std::memcpy;
using std::memmove;
using std::memset;
using std::size_t;
using std::strcat;
using std::strchr;
using std::strcmp;
using std::strcoll;
using std::strcpy;
using std::strcspn;
using std::strerror;
using std::strlen;
using std::strncat;
using std::strncmp;
using std::strncpy;
using std::strpbrk;
using std::strrchr;
using std::strspn;
using std::strstr;
using std::strtok;
using std::strxfrm;
}
// 29.15 <ctime>
export C_LIB_NAMESPACE
{
using std::asctime;
using std::clock;
using std::clock_t;
using std::ctime;
using std::difftime;
using std::gmtime;
using std::localtime;
using std::mktime;
using std::size_t;
using std::strftime;
using std::time;
using std::time_t;
using std::tm;
#ifdef _GLIBCXX_HAVE_TIMESPEC_GET
using std::timespec;
using std::timespec_get;
#endif
}
// 23.5.5 <cuchar>
export C_LIB_NAMESPACE
{
#if _GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_CXX20
using std::mbrtoc8;
using std::c8rtomb;
#endif
#if _GLIBCXX_USE_C11_UCHAR_CXX11
using std::mbrtoc16;
using std::c16rtomb;
using std::mbrtoc32;
using std::c32rtomb;
#endif
}
#if _GLIBCXX_USE_WCHAR_T
// 23.5.4 <cwchar>
export C_LIB_NAMESPACE
{
using std::btowc;
using std::fgetwc;
using std::fgetws;
using std::fputwc;
using std::fputws;
using std::fwide;
using std::fwprintf;
using std::fwscanf;
using std::getwc;
using std::getwchar;
using std::mbrlen;
using std::mbrtowc;
using std::mbsinit;
using std::mbsrtowcs;
using std::mbstate_t;
using std::putwc;
using std::putwchar;
using std::size_t;
using std::swprintf;
using std::swscanf;
using std::tm;
using std::ungetwc;
using std::vfwprintf;
# if _GLIBCXX_HAVE_VFWSCANF
using std::vfwscanf;
#endif
#ifndef _GLIBCXX_HAVE_BROKEN_VSWPRINTF
using std::vswprintf;
#endif
# if _GLIBCXX_HAVE_VSWSCANF
using std::vswscanf;
#endif
using std::vwprintf;
# if _GLIBCXX_HAVE_VWSCANF
using std::vwscanf;
#endif
using std::wcrtomb;
using std::wcscat;
using std::wcschr;
using std::wcscmp;
using std::wcscoll;
using std::wcscpy;
using std::wcscspn;
using std::wcsftime;
using std::wcslen;
using std::wcsncat;
using std::wcsncmp;
using std::wcsncpy;
using std::wcspbrk;
using std::wcsrchr;
using std::wcsrtombs;
using std::wcsspn;
using std::wcsstr;
using std::wcstod;
#if _GLIBCXX_HAVE_WCSTOF
using std::wcstof;
#endif
using std::wcstok;
using std::wcstol;
#if _GLIBCXX_USE_C99_WCHAR
using std::wcstold;
using std::wcstoll;
#endif
using std::wcstoul;
#if _GLIBCXX_USE_C99_WCHAR
using std::wcstoull;
#endif
using std::wcsxfrm;
using std::wctob;
using std::wint_t;
using std::wmemchr;
using std::wmemcmp;
using std::wmemcpy;
using std::wmemmove;
using std::wmemset;
using std::wprintf;
using std::wscanf;
}
#endif
#if _GLIBCXX_USE_WCHAR_T
// 23.5.2 <cwctype>
export C_LIB_NAMESPACE
{
using std::iswalnum;
using std::iswalpha;
#if _GLIBCXX_HAVE_ISWBLANK
using std::iswblank;
#endif
using std::iswcntrl;
using std::iswctype;
using std::iswdigit;
using std::iswgraph;
using std::iswlower;
using std::iswprint;
using std::iswpunct;
using std::iswspace;
using std::iswupper;
using std::iswxdigit;
using std::towctrans;
using std::towlower;
using std::towupper;
using std::wctrans;
using std::wctrans_t;
using std::wctype;
using std::wctype_t;
using std::wint_t;
}
#endif