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 | |