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