blob: 35c680b4f9a93458c9e18eb7462a7c7c8e9164b7 [file] [log] [blame]
Richard Smithf88eeb72015-10-08 22:25:27 +00001// -*- C++ -*-
2//===--------------------------- stddef.h ---------------------------------===//
3//
Chandler Carruthd2012102019-01-19 10:56:40 +00004// 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
Richard Smithf88eeb72015-10-08 22:25:27 +00007//
8//===----------------------------------------------------------------------===//
9
10#if defined(__need_ptrdiff_t) || defined(__need_size_t) || \
11 defined(__need_wchar_t) || defined(__need_NULL) || defined(__need_wint_t)
Richard Smith523b1722015-10-09 00:26:50 +000012
13#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
14#pragma GCC system_header
15#endif
16
Richard Smithf88eeb72015-10-08 22:25:27 +000017#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
Joerg Sonnenberger09c4ae52020-04-04 00:48:02 +020034 max_align_t // C++11
Richard Smithf88eeb72015-10-08 22:25:27 +000035 nullptr_t
36
37*/
38
39#include <__config>
Richard Smithf88eeb72015-10-08 22:25:27 +000040
41#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
42#pragma GCC system_header
43#endif
44
Richard Smith523b1722015-10-09 00:26:50 +000045#include_next <stddef.h>
46
Richard Smithf88eeb72015-10-08 22:25:27 +000047#ifdef __cplusplus
48
49extern "C++" {
50#include <__nullptr>
51using std::nullptr_t;
52}
53
Richard Smithf88eeb72015-10-08 22:25:27 +000054#endif
55
56#endif // _LIBCPP_STDDEF_H