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 25Macros: 26 27 offsetof(type,member-designator) 28 NULL 29 30Types: 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