aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/libcxx/modules/std.compat/cstdlib.inc
blob: a45a0a1caf8ba9aac9105f8c638cd4c72f809454 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
// -*- C++ -*-
//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

export {
  using ::div_t;
  using ::ldiv_t;
  using ::lldiv_t;
  using ::size_t;

  // [support.start.term], start and termination
  using ::_Exit;
  using ::abort;
  using ::at_quick_exit _LIBCPP_USING_IF_EXISTS;
  using ::atexit;
  using ::exit;
  using ::quick_exit _LIBCPP_USING_IF_EXISTS;

  using ::getenv;
  using ::system;

  // [c.malloc], C library memory allocation
  using ::aligned_alloc;
  using ::calloc;
  using ::free;
  using ::malloc;
  using ::realloc;

  using ::atof;
  using ::atoi;
  using ::atol;
  using ::atoll;
  using ::strtod;
  using ::strtof;
  using ::strtol;
  using ::strtold;
  using ::strtoll;
  using ::strtoul;
  using ::strtoull;

  // [c.mb.wcs], multibyte / wide string and character conversion functions
  using ::mblen;
#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
  using ::mbstowcs;
  using ::mbtowc;
  using ::wcstombs;
  using ::wctomb;
#endif
  // [alg.c.library], C standard library algorithms
  using ::bsearch;
  using ::qsort;

  // [c.math.rand], low-quality random number generation
  using ::rand;
  using ::srand;

  // [c.math.abs], absolute values
  using ::abs;

  using ::labs;
  using ::llabs;

  using ::div;
  using ::ldiv;
  using ::lldiv;

} // export