xref: /freebsd/contrib/llvm-project/libcxx/modules/std.compat/cstdlib.inc (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
15f757f3fSDimitry Andric// -*- C++ -*-
25f757f3fSDimitry Andric//===----------------------------------------------------------------------===//
35f757f3fSDimitry Andric//
45f757f3fSDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
55f757f3fSDimitry Andric// See https://llvm.org/LICENSE.txt for license information.
65f757f3fSDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
75f757f3fSDimitry Andric//
85f757f3fSDimitry Andric//===----------------------------------------------------------------------===//
95f757f3fSDimitry Andric
105f757f3fSDimitry Andricexport {
11*0fca6ea1SDimitry Andric  using ::div_t _LIBCPP_USING_IF_EXISTS;
12*0fca6ea1SDimitry Andric  using ::ldiv_t _LIBCPP_USING_IF_EXISTS;
13*0fca6ea1SDimitry Andric  using ::lldiv_t _LIBCPP_USING_IF_EXISTS;
14*0fca6ea1SDimitry Andric  using ::size_t _LIBCPP_USING_IF_EXISTS;
155f757f3fSDimitry Andric
165f757f3fSDimitry Andric  // [support.start.term], start and termination
17*0fca6ea1SDimitry Andric  using ::_Exit _LIBCPP_USING_IF_EXISTS;
18*0fca6ea1SDimitry Andric  using ::abort _LIBCPP_USING_IF_EXISTS;
197a6dacacSDimitry Andric  using ::at_quick_exit _LIBCPP_USING_IF_EXISTS;
20*0fca6ea1SDimitry Andric  using ::atexit _LIBCPP_USING_IF_EXISTS;
21*0fca6ea1SDimitry Andric  using ::exit _LIBCPP_USING_IF_EXISTS;
227a6dacacSDimitry Andric  using ::quick_exit _LIBCPP_USING_IF_EXISTS;
235f757f3fSDimitry Andric
24*0fca6ea1SDimitry Andric  using ::getenv _LIBCPP_USING_IF_EXISTS;
25*0fca6ea1SDimitry Andric  using ::system _LIBCPP_USING_IF_EXISTS;
265f757f3fSDimitry Andric
275f757f3fSDimitry Andric  // [c.malloc], C library memory allocation
285678d1d9SDimitry Andric  using ::aligned_alloc _LIBCPP_USING_IF_EXISTS;
29*0fca6ea1SDimitry Andric  using ::calloc _LIBCPP_USING_IF_EXISTS;
30*0fca6ea1SDimitry Andric  using ::free _LIBCPP_USING_IF_EXISTS;
31*0fca6ea1SDimitry Andric  using ::malloc _LIBCPP_USING_IF_EXISTS;
32*0fca6ea1SDimitry Andric  using ::realloc _LIBCPP_USING_IF_EXISTS;
335f757f3fSDimitry Andric
34*0fca6ea1SDimitry Andric  using ::atof _LIBCPP_USING_IF_EXISTS;
35*0fca6ea1SDimitry Andric  using ::atoi _LIBCPP_USING_IF_EXISTS;
36*0fca6ea1SDimitry Andric  using ::atol _LIBCPP_USING_IF_EXISTS;
37*0fca6ea1SDimitry Andric  using ::atoll _LIBCPP_USING_IF_EXISTS;
38*0fca6ea1SDimitry Andric  using ::strtod _LIBCPP_USING_IF_EXISTS;
39*0fca6ea1SDimitry Andric  using ::strtof _LIBCPP_USING_IF_EXISTS;
40*0fca6ea1SDimitry Andric  using ::strtol _LIBCPP_USING_IF_EXISTS;
41*0fca6ea1SDimitry Andric  using ::strtold _LIBCPP_USING_IF_EXISTS;
42*0fca6ea1SDimitry Andric  using ::strtoll _LIBCPP_USING_IF_EXISTS;
43*0fca6ea1SDimitry Andric  using ::strtoul _LIBCPP_USING_IF_EXISTS;
44*0fca6ea1SDimitry Andric  using ::strtoull _LIBCPP_USING_IF_EXISTS;
455f757f3fSDimitry Andric
465f757f3fSDimitry Andric  // [c.mb.wcs], multibyte / wide string and character conversion functions
47*0fca6ea1SDimitry Andric  using ::mblen _LIBCPP_USING_IF_EXISTS;
485f757f3fSDimitry Andric#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
49*0fca6ea1SDimitry Andric  using ::mbstowcs _LIBCPP_USING_IF_EXISTS;
50*0fca6ea1SDimitry Andric  using ::mbtowc _LIBCPP_USING_IF_EXISTS;
51*0fca6ea1SDimitry Andric  using ::wcstombs _LIBCPP_USING_IF_EXISTS;
52*0fca6ea1SDimitry Andric  using ::wctomb _LIBCPP_USING_IF_EXISTS;
535f757f3fSDimitry Andric#endif
545f757f3fSDimitry Andric  // [alg.c.library], C standard library algorithms
55*0fca6ea1SDimitry Andric  using ::bsearch _LIBCPP_USING_IF_EXISTS;
56*0fca6ea1SDimitry Andric  using ::qsort _LIBCPP_USING_IF_EXISTS;
575f757f3fSDimitry Andric
585f757f3fSDimitry Andric  // [c.math.rand], low-quality random number generation
59*0fca6ea1SDimitry Andric  using ::rand _LIBCPP_USING_IF_EXISTS;
60*0fca6ea1SDimitry Andric  using ::srand _LIBCPP_USING_IF_EXISTS;
615f757f3fSDimitry Andric
625f757f3fSDimitry Andric  // [c.math.abs], absolute values
63*0fca6ea1SDimitry Andric  using ::abs _LIBCPP_USING_IF_EXISTS;
645f757f3fSDimitry Andric
65*0fca6ea1SDimitry Andric  using ::labs _LIBCPP_USING_IF_EXISTS;
66*0fca6ea1SDimitry Andric  using ::llabs _LIBCPP_USING_IF_EXISTS;
675f757f3fSDimitry Andric
68*0fca6ea1SDimitry Andric  using ::div _LIBCPP_USING_IF_EXISTS;
69*0fca6ea1SDimitry Andric  using ::ldiv _LIBCPP_USING_IF_EXISTS;
70*0fca6ea1SDimitry Andric  using ::lldiv _LIBCPP_USING_IF_EXISTS;
715f757f3fSDimitry Andric
725f757f3fSDimitry Andric} // export
73