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 /* 11 stddef.h synopsis 12 13 Macros: 14 15 offsetof(type,member-designator) 16 NULL 17 18 Types: 19 20 ptrdiff_t 21 size_t 22 max_align_t // C++11 23 nullptr_t 24 25 */ 26 27 #if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS) 28 # include <__cxx03/stddef.h> 29 #else 30 # include <__config> 31 32 # if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 33 # pragma GCC system_header 34 # endif 35 36 // Note: This include is outside of header guards because we sometimes get included multiple times 37 // with different defines and the underlying <stddef.h> will know how to deal with that. 38 # include_next <stddef.h> 39 40 # ifndef _LIBCPP_STDDEF_H 41 # define _LIBCPP_STDDEF_H 42 43 # ifdef __cplusplus 44 typedef decltype(nullptr) nullptr_t; 45 # endif 46 # endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS) 47 48 #endif // _LIBCPP_STDDEF_H 49