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 #include <__config>
28 
29 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
30 #  pragma GCC system_header
31 #endif
32 
33 // Note: This include is outside of header guards because we sometimes get included multiple times
34 //       with different defines and the underlying <stddef.h> will know how to deal with that.
35 #include_next <stddef.h>
36 
37 #ifndef _LIBCPP_STDDEF_H
38 #  define _LIBCPP_STDDEF_H
39 
40 #  ifdef __cplusplus
41 typedef decltype(nullptr) nullptr_t;
42 #  endif
43 
44 #endif // _LIBCPP_STDDEF_H
45