xref: /aosp_15_r20/external/libcxx/include/stddef.h (revision 58b9f456b02922dfdb1fad8a988d5fd8765ecb80)
1*58b9f456SAndroid Build Coastguard Worker // -*- C++ -*-
2*58b9f456SAndroid Build Coastguard Worker //===--------------------------- stddef.h ---------------------------------===//
3*58b9f456SAndroid Build Coastguard Worker //
4*58b9f456SAndroid Build Coastguard Worker //                     The LLVM Compiler Infrastructure
5*58b9f456SAndroid Build Coastguard Worker //
6*58b9f456SAndroid Build Coastguard Worker // This file is dual licensed under the MIT and the University of Illinois Open
7*58b9f456SAndroid Build Coastguard Worker // Source Licenses. See LICENSE.TXT for details.
8*58b9f456SAndroid Build Coastguard Worker //
9*58b9f456SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
10*58b9f456SAndroid Build Coastguard Worker 
11*58b9f456SAndroid Build Coastguard Worker #if defined(__need_ptrdiff_t) || defined(__need_size_t) || \
12*58b9f456SAndroid Build Coastguard Worker     defined(__need_wchar_t) || defined(__need_NULL) || defined(__need_wint_t)
13*58b9f456SAndroid Build Coastguard Worker 
14*58b9f456SAndroid Build Coastguard Worker #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
15*58b9f456SAndroid Build Coastguard Worker #pragma GCC system_header
16*58b9f456SAndroid Build Coastguard Worker #endif
17*58b9f456SAndroid Build Coastguard Worker 
18*58b9f456SAndroid Build Coastguard Worker #include_next <stddef.h>
19*58b9f456SAndroid Build Coastguard Worker 
20*58b9f456SAndroid Build Coastguard Worker #elif !defined(_LIBCPP_STDDEF_H)
21*58b9f456SAndroid Build Coastguard Worker #define _LIBCPP_STDDEF_H
22*58b9f456SAndroid Build Coastguard Worker 
23*58b9f456SAndroid Build Coastguard Worker /*
24*58b9f456SAndroid Build Coastguard Worker     stddef.h synopsis
25*58b9f456SAndroid Build Coastguard Worker 
26*58b9f456SAndroid Build Coastguard Worker Macros:
27*58b9f456SAndroid Build Coastguard Worker 
28*58b9f456SAndroid Build Coastguard Worker     offsetof(type,member-designator)
29*58b9f456SAndroid Build Coastguard Worker     NULL
30*58b9f456SAndroid Build Coastguard Worker 
31*58b9f456SAndroid Build Coastguard Worker Types:
32*58b9f456SAndroid Build Coastguard Worker 
33*58b9f456SAndroid Build Coastguard Worker     ptrdiff_t
34*58b9f456SAndroid Build Coastguard Worker     size_t
35*58b9f456SAndroid Build Coastguard Worker     max_align_t
36*58b9f456SAndroid Build Coastguard Worker     nullptr_t
37*58b9f456SAndroid Build Coastguard Worker 
38*58b9f456SAndroid Build Coastguard Worker */
39*58b9f456SAndroid Build Coastguard Worker 
40*58b9f456SAndroid Build Coastguard Worker #include <__config>
41*58b9f456SAndroid Build Coastguard Worker 
42*58b9f456SAndroid Build Coastguard Worker #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
43*58b9f456SAndroid Build Coastguard Worker #pragma GCC system_header
44*58b9f456SAndroid Build Coastguard Worker #endif
45*58b9f456SAndroid Build Coastguard Worker 
46*58b9f456SAndroid Build Coastguard Worker #include_next <stddef.h>
47*58b9f456SAndroid Build Coastguard Worker 
48*58b9f456SAndroid Build Coastguard Worker #ifdef __cplusplus
49*58b9f456SAndroid Build Coastguard Worker 
50*58b9f456SAndroid Build Coastguard Worker extern "C++" {
51*58b9f456SAndroid Build Coastguard Worker #include <__nullptr>
52*58b9f456SAndroid Build Coastguard Worker using std::nullptr_t;
53*58b9f456SAndroid Build Coastguard Worker }
54*58b9f456SAndroid Build Coastguard Worker 
55*58b9f456SAndroid Build Coastguard Worker // Re-use the compiler's <stddef.h> max_align_t where possible.
56*58b9f456SAndroid Build Coastguard Worker #if !defined(__CLANG_MAX_ALIGN_T_DEFINED) && !defined(_GCC_MAX_ALIGN_T) && \
57*58b9f456SAndroid Build Coastguard Worker     !defined(__DEFINED_max_align_t) && !defined(__NetBSD__)
58*58b9f456SAndroid Build Coastguard Worker typedef long double max_align_t;
59*58b9f456SAndroid Build Coastguard Worker #endif
60*58b9f456SAndroid Build Coastguard Worker 
61*58b9f456SAndroid Build Coastguard Worker #endif
62*58b9f456SAndroid Build Coastguard Worker 
63*58b9f456SAndroid Build Coastguard Worker #endif  // _LIBCPP_STDDEF_H
64