climits 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // -*- C++ -*-
  2. //===----------------------------------------------------------------------===//
  3. //
  4. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  5. // See https://llvm.org/LICENSE.txt for license information.
  6. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  7. //
  8. //===----------------------------------------------------------------------===//
  9. #ifndef _LIBCPP_CLIMITS
  10. #define _LIBCPP_CLIMITS
  11. /*
  12. climits synopsis
  13. Macros:
  14. CHAR_BIT
  15. SCHAR_MIN
  16. SCHAR_MAX
  17. UCHAR_MAX
  18. CHAR_MIN
  19. CHAR_MAX
  20. MB_LEN_MAX
  21. SHRT_MIN
  22. SHRT_MAX
  23. USHRT_MAX
  24. INT_MIN
  25. INT_MAX
  26. UINT_MAX
  27. LONG_MIN
  28. LONG_MAX
  29. ULONG_MAX
  30. LLONG_MIN // C99
  31. LLONG_MAX // C99
  32. ULLONG_MAX // C99
  33. */
  34. #include <__assert> // all public C++ headers provide the assertion handler
  35. #include <__config>
  36. #include <limits.h>
  37. #ifndef _LIBCPP_LIMITS_H
  38. # error <climits> tried including <limits.h> but didn't find libc++'s <limits.h> header. \
  39. This usually means that your header search paths are not configured properly. \
  40. The header search paths should contain the C++ Standard Library headers before \
  41. any C Standard Library, and you are probably using compiler flags that make that \
  42. not be the case.
  43. #endif
  44. #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
  45. # pragma GCC system_header
  46. #endif
  47. #endif // _LIBCPP_CLIMITS