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