zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

__stddef_nullptr_t.h (958B) - Raw


      1 /*===---- __stddef_nullptr_t.h - Definition of nullptr_t -------------------===
      2  *
      3  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
      4  * See https://llvm.org/LICENSE.txt for license information.
      5  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
      6  *
      7  *===-----------------------------------------------------------------------===
      8  */
      9 
     10 /*
     11  * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
     12  * and needs to behave as if it was textual.
     13  */
     14 #if !defined(_NULLPTR_T) ||                                                    \
     15     (__has_feature(modules) && !__building_module(_Builtin_stddef))
     16 #define _NULLPTR_T
     17 
     18 #ifdef __cplusplus
     19 #if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
     20 namespace std {
     21 typedef decltype(nullptr) nullptr_t;
     22 }
     23 using ::std::nullptr_t;
     24 #endif
     25 #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
     26 typedef typeof(nullptr) nullptr_t;
     27 #endif
     28 
     29 #endif