Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
__cccl_config195 linesDownload Raw Back to include
1//===----------------------------------------------------------------------===//2//3// Part of libcu++, the C++ Standard Library for your entire system,4// 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// SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES.8//9//===----------------------------------------------------------------------===//10 11#ifndef __CCCL_CONFIG12#define __CCCL_CONFIG13 14// Determine the host compiler15#if defined(__INTEL_LLVM_COMPILER)16#  define _CCCL_COMPILER_ICC_LLVM17#elif defined(__INTEL_COMPILER)18#  define _CCCL_COMPILER_ICC19#elif defined(__NVCOMPILER)20#  define _CCCL_COMPILER_NVHPC21#elif defined(__clang__)22#  define _CCCL_COMPILER_CLANG23#elif defined(__GNUC__)24#  define _CCCL_COMPILER_GCC25#elif defined(_MSC_VER)26#  define _CCCL_COMPILER_MSVC27#elif defined(__IBMCPP__)28#  define _CCCL_COMPILER_IBM29#elif defined(__CUDACC_RTC__)30#  define _CCCL_COMPILER_NVRTC31#endif32 33// Convenient shortcut to determine which version of MSVC we are dealing with34#if defined(_CCCL_COMPILER_MSVC)35#  if _MSC_VER < 191736#    define _CCCL_COMPILER_MSVC_201737#  elif _MSC_VER < 193038#    define _CCCL_COMPILER_MSVC_201939#  else // _MSC_VER < 194040#    define _CCCL_COMPILER_MSVC_202241#  endif // _MSC_VER < 194042#endif // _CCCL_COMPILER_MSVC43 44// Determine the cuda compiler45#if defined(__NVCC__)46#  define _CCCL_CUDA_COMPILER_NVCC47#elif defined(_NVHPC_CUDA)48#  define _CCCL_CUDA_COMPILER_NVHPC49#elif defined(__CUDA__) && defined(_CCCL_COMPILER_CLANG)50#  define _CCCL_CUDA_COMPILER_CLANG51#endif52 53// Shorthand to check whether there is a cuda compiler available54#if defined(_CCCL_CUDA_COMPILER_NVCC) || defined(_CCCL_CUDA_COMPILER_NVHPC) || defined(_CCCL_CUDA_COMPILER_CLANG) \55  || defined(_CCCL_COMPILER_NVRTC)56#  define _CCCL_CUDA_COMPILER57#endif // cuda compiler available58 59// Enforce that cccl headers are treated as system headers60#if defined(_CCCL_COMPILER_GCC) || defined(_CCCL_COMPILER_NVHPC) || defined(_CCCL_COMPILER_ICC) \61  || defined(_CCCL_COMPILER_ICC_LLVM)62#  define _CCCL_FORCE_SYSTEM_HEADER_GCC63#elif defined(_CCCL_COMPILER_CLANG)64#  define _CCCL_FORCE_SYSTEM_HEADER_CLANG65#elif defined(_CCCL_COMPILER_MSVC)66#  define _CCCL_FORCE_SYSTEM_HEADER_MSVC67#endif // other compilers68 69// Potentially enable that cccl headers are treated as system headers70#if !defined(_CCCL_NO_SYSTEM_HEADER)                                                     \71  && !(defined(_CCCL_COMPILER_MSVC) && defined(_LIBCUDACXX_DISABLE_PRAGMA_MSVC_WARNING)) \72  && !defined(_CCCL_COMPILER_NVRTC) && !defined(_LIBCUDACXX_DISABLE_PRAGMA_GCC_SYSTEM_HEADER)73#  if defined(_CCCL_COMPILER_GCC) || defined(_CCCL_COMPILER_NVHPC) || defined(_CCCL_COMPILER_ICC) \74    || defined(_CCCL_COMPILER_ICC_LLVM)75#    define _CCCL_IMPLICIT_SYSTEM_HEADER_GCC76#  elif defined(_CCCL_COMPILER_CLANG)77#    define _CCCL_IMPLICIT_SYSTEM_HEADER_CLANG78#  elif defined(_CCCL_COMPILER_MSVC)79#    define _CCCL_IMPLICIT_SYSTEM_HEADER_MSVC80#  endif // other compilers81#endif // Use system header82 83// Potentially silence all warnings from this header84#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC)85#  pragma GCC system_header86#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG)87#  pragma clang system_header88#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC)89#  pragma system_header90#endif // no system header91 92// Enable us to selectively silence host compiler warnings93#define _CCCL_TOSTRING2(_STR) #_STR94#define _CCCL_TOSTRING(_STR)  _CCCL_TOSTRING2(_STR)95#ifdef _CCCL_COMPILER_CLANG96#  define _CCCL_DIAG_PUSH                _Pragma("clang diagnostic push")97#  define _CCCL_DIAG_POP                 _Pragma("clang diagnostic pop")98#  define _CCCL_DIAG_SUPPRESS_CLANG(str) _Pragma(_CCCL_TOSTRING(clang diagnostic ignored str))99#  define _CCCL_DIAG_SUPPRESS_GCC(str)100#  define _CCCL_DIAG_SUPPRESS_NVHPC(str)101#  define _CCCL_DIAG_SUPPRESS_MSVC(str)102#elif defined(_CCCL_COMPILER_GCC)103#  define _CCCL_DIAG_PUSH _Pragma("GCC diagnostic push")104#  define _CCCL_DIAG_POP  _Pragma("GCC diagnostic pop")105#  define _CCCL_DIAG_SUPPRESS_CLANG(str)106#  define _CCCL_DIAG_SUPPRESS_GCC(str) _Pragma(_CCCL_TOSTRING(GCC diagnostic ignored str))107#  define _CCCL_DIAG_SUPPRESS_NVHPC(str)108#  define _CCCL_DIAG_SUPPRESS_MSVC(str)109#elif defined(_CCCL_COMPILER_NVHPC)110#  define _CCCL_DIAG_PUSH _Pragma("diagnostic push")111#  define _CCCL_DIAG_POP  _Pragma("diagnostic pop")112#  define _CCCL_DIAG_SUPPRESS_CLANG(str)113#  define _CCCL_DIAG_SUPPRESS_GCC(str)114#  define _CCCL_DIAG_SUPPRESS_NVHPC(str) _Pragma(_CCCL_TOSTRING(diag_suppress str))115#  define _CCCL_DIAG_SUPPRESS_MSVC(str)116#elif defined(_CCCL_COMPILER_MSVC)117#  define _CCCL_DIAG_PUSH __pragma(warning(push))118#  define _CCCL_DIAG_POP  __pragma(warning(pop))119#  define _CCCL_DIAG_SUPPRESS_CLANG(str)120#  define _CCCL_DIAG_SUPPRESS_GCC(str)121#  define _CCCL_DIAG_SUPPRESS_NVHPC(str)122#  define _CCCL_DIAG_SUPPRESS_MSVC(str) __pragma(warning(disable : str))123#else124#  define _CCCL_DIAG_PUSH125#  define _CCCL_DIAG_POP126#  define _CCCL_DIAG_SUPPRESS_CLANG(str)127#  define _CCCL_DIAG_SUPPRESS_GCC(str)128#  define _CCCL_DIAG_SUPPRESS_NVHPC(str)129#  define _CCCL_DIAG_SUPPRESS_MSVC(str)130#endif131 132// Convenient shortcuts to silence common warnings133#if defined(_CCCL_COMPILER_CLANG)134#  define _CCCL_DIAG_SUPPRESS_DEPRECATED_PUSH \135    _CCCL_DIAG_PUSH                           \136    _CCCL_DIAG_SUPPRESS_CLANG("-Wdeprecated") \137    _CCCL_DIAG_SUPPRESS_CLANG("-Wdeprecated-declarations")138#  define _CCCL_DIAG_SUPPRESS_DEPRECATED_POP _CCCL_DIAG_POP139#elif defined(_CCCL_COMPILER_GCC)140#  define _CCCL_DIAG_SUPPRESS_DEPRECATED_PUSH \141    _CCCL_DIAG_PUSH                           \142    _CCCL_DIAG_SUPPRESS_GCC("-Wdeprecated")   \143    _CCCL_DIAG_SUPPRESS_GCC("-Wdeprecated-declarations")144#  define _CCCL_DIAG_SUPPRESS_DEPRECATED_POP _CCCL_DIAG_POP145#elif defined(_CCCL_COMPILER_MSVC)146#  define _CCCL_DIAG_SUPPRESS_DEPRECATED_PUSH \147    _CCCL_DIAG_PUSH                           \148    _CCCL_DIAG_SUPPRESS_MSVC(4996)149#  define _CCCL_DIAG_SUPPRESS_DEPRECATED_POP _CCCL_DIAG_POP150#else // !_CCCL_COMPILER_CLANG && !_CCCL_COMPILER_GCC151#  define _CCCL_DIAG_SUPPRESS_DEPRECATED_PUSH152#  define _CCCL_DIAG_SUPPRESS_DEPRECATED_POP153#endif // !_CCCL_COMPILER_CLANG && !_CCCL_COMPILER_GCC154 155// Enable us to selectively silence cuda compiler warnings156#if defined(__CUDACC__)157#  if !defined(_CCCL_CUDA_COMPILER_CLANG)158#    define _CCCL_NV_DIAG_SUPPRESS(_WARNING)159#    define _CCCL_NV_DIAG_DEFAULT(_WARNING)160#  elif defined(__NVCC_DIAG_PRAGMA_SUPPORT__)161#    if defined(_CCCL_COMPILER_MSVC)162#      define _CCCL_NV_DIAG_SUPPRESS(_WARNING) __pragma(_CCCL_TOSTRING(nv_diag_suppress _WARNING))163#      define _CCCL_NV_DIAG_DEFAULT(_WARNING)  __pragma(_CCCL_TOSTRING(nv_diag_default _WARNING))164#    else // ^^^ _CCCL_COMPILER_MSVC ^^^ / vvv !_CCCL_COMPILER_MSVC vvv165#      define _CCCL_NV_DIAG_SUPPRESS(_WARNING) \166        _Pragma(_CCCL_TOSTRING(nv_diagnostic push)) _Pragma(_CCCL_TOSTRING(nv_diag_suppress _WARNING))167#      define _CCCL_NV_DIAG_DEFAULT(_WARNING) _Pragma(_CCCL_TOSTRING(nv_diagnostic pop))168#    endif // !_CCCL_COMPILER_MSVC169#  elif defined(_CCCL_COMPILER_NVHPC)170#    define _CCCL_NV_DIAG_SUPPRESS(_WARNING) \171      _Pragma(_CCCL_TOSTRING(diagnostic push)) _Pragma(_CCCL_TOSTRING(diag_suppress _WARNING))172#    define _CCCL_NV_DIAG_DEFAULT(_WARNING) _Pragma(_CCCL_TOSTRING(diagnostic pop))173#  else // ^^^ __NVCC_DIAG_PRAGMA_SUPPORT__ ^^^ / vvv !__NVCC_DIAG_PRAGMA_SUPPORT__ vvv174#    if defined(_CCCL_COMPILER_MSVC_2017) // MSVC 2017 has issues with restoring the warning175#      define _CCCL_NV_DIAG_SUPPRESS(_WARNING) __pragma(_CCCL_TOSTRING(diag_suppress _WARNING))176#      define _CCCL_NV_DIAG_DEFAULT(_WARNING)177#    elif defined(_CCCL_COMPILER_MSVC)178#      define _CCCL_NV_DIAG_SUPPRESS(_WARNING) __pragma(_CCCL_TOSTRING(diag_suppress _WARNING))179#      define _CCCL_NV_DIAG_DEFAULT(_WARNING)  __pragma(_CCCL_TOSTRING(diag_default _WARNING))180#    else // ^^^ _CCCL_COMPILER_MSVC ^^^ / vvv !_CCCL_COMPILER_MSVC vvv181#      define _CCCL_NV_DIAG_SUPPRESS(_WARNING) _Pragma(_CCCL_TOSTRING(diag_suppress _WARNING))182#      define _CCCL_NV_DIAG_DEFAULT(_WARNING)  _Pragma(_CCCL_TOSTRING(diag_default _WARNING))183#    endif // !_CCCL_COMPILER_MSVC184#  endif // !__NVCC_DIAG_PRAGMA_SUPPORT__185#else // ^^^ __CUDACC__ ^^^ / vvv !__CUDACC__ vvv186#  define _CCCL_NV_DIAG_SUPPRESS(_WARNING)187#  define _CCCL_NV_DIAG_DEFAULT(_WARNING)188#endif // other compilers189 190#include "__cccl/ptx_isa.h"191#include "__cccl/version.h"192#include "__cccl/visibility.h"193 194#endif // __CCCL_CONFIG195 
codekingpro/portable-devtools · Team Ai