1 // -*- C++ -*- 2 //===--------------------------- stddef.h ---------------------------------===// 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 #include_next <stddef.h> 46 47 #ifdef __cplusplus 48 49 extern "C++" { 50 #include <__nullptr> 51 using std::nullptr_t; 52 } 53 54 #endif 55 56 #endif // _LIBCPP_STDDEF_H 57