1 // -*- C++ -*- 2 //===----------------------------------------------------------------------===// 3 // 4 // Part of the LLVM Project, 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-exception 7 // 8 //===----------------------------------------------------------------------===// 9 10 #if defined(__need_ptrdiff_t) || defined(__need_size_t) || \ 11 defined(__need_wchar_t) || defined(__need_NULL) || defined(__need_wint_t) 12 13 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 14 # pragma GCC system_header 15 #endif 16 17 #include_next <stddef.h> 18 19 #elif !defined(_LIBCPP_STDDEF_H) 20 #define _LIBCPP_STDDEF_H 21 22 /* 23 stddef.h synopsis 24 25 Macros: 26 27 offsetof(type,member-designator) 28 NULL 29 30 Types: 31 32 ptrdiff_t 33 size_t 34 max_align_t // C++11 35 nullptr_t 36 37 */ 38 39 #include <__config> 40 41 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 42 # pragma GCC system_header 43 #endif 44 45 # if __has_include_next(<stddef.h>) 46 # include_next <stddef.h> 47 # endif 48 49 #ifdef __cplusplus 50 typedef decltype(nullptr) nullptr_t; 51 #endif 52 53 #endif // _LIBCPP_STDDEF_H 54