codekingpro/portable-devtools
114k
1// -*- C++ -*-2//===--------------------------- climits ----------------------------------===//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-exception7//8//===----------------------------------------------------------------------===//9 10#ifndef _LIBCUDACXX_CLIMITS11#define _LIBCUDACXX_CLIMITS12 13/*14 climits synopsis15 16Macros:17 18 CHAR_BIT19 SCHAR_MIN20 SCHAR_MAX21 UCHAR_MAX22 CHAR_MIN23 CHAR_MAX24 MB_LEN_MAX25 SHRT_MIN26 SHRT_MAX27 USHRT_MAX28 INT_MIN29 INT_MAX30 UINT_MAX31 LONG_MIN32 LONG_MAX33 ULONG_MAX34 LLONG_MIN // C9935 LLONG_MAX // C9936 ULLONG_MAX // C9937 38*/39 40#ifndef __cuda_std__41#include <__config>42#else43#include "__cuda/climits_prelude.h"44#endif //__cuda_std__45 46#ifndef __cuda_std__47#include <limits.h>48#include <__pragma_push>49#endif //__cuda_std__50 51#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC)52# pragma GCC system_header53#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG)54# pragma clang system_header55#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC)56# pragma system_header57#endif // no system header58 59#if defined(_LIBCUDACXX_COMPILER_MSVC)60#include "support/win32/limits_msvc_win32.h"61#endif // _LIBCUDACXX_MSVCRT62 63#if defined(_LIBCUDACXX_COMPILER_IBM)64#include "support/ibm/limits.h"65#endif // _LIBCUDACXX_COMPILER_IBM66 67// ICC defines __CHAR_BIT__ by default68// accept that, but assert it is what we expect69#ifdef __CHAR_BIT__70 static_assert(__CHAR_BIT__ == 8, "");71#else72 #define __CHAR_BIT__ 873#endif74 75#ifndef __cuda_std__76#include <__pragma_pop>77#endif //__cuda_std__78 79#endif // _LIBCUDACXX_CLIMITS80 