Home | History | Annotate | Line # | Download | only in include
stddef.h revision 1.1
      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 
     25 Macros:
     26 
     27     offsetof(type,member-designator)
     28     NULL
     29 
     30 Types:
     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 
     49 extern "C++" {
     50 #include <__nullptr>
     51 using std::nullptr_t;
     52 }
     53 
     54 #endif
     55 
     56 #endif // _LIBCPP_STDDEF_H
     57