Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/clang/lib/Headers/__stddef_nullptr_t.h
35233 views
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
30
31