ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
stddef.h
Go to the documentation of this file.
1
#ifdef __clang__
2
3
/* clang's <stddef.h> is documented as re-includable: a caller defines a
4
* __need_* macro to pull in that one type, which is how <wchar.h> obtains
5
* wint_t. A one-shot guard around this file makes every include after the
6
* first a no-op and loses the requested type, so the guard covers only the
7
* non-clang fallback and these names are set only for a plain include. */
8
#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \
9
!defined(__need_wchar_t) && !defined(__need_NULL) && \
10
!defined(__need_STDDEF_H_misc) && !defined(__need_max_align_t) && \
11
!defined(__need_offsetof) && !defined(__need_wint_t)
12
#define __need_ptrdiff_t
/* ptrdiff_t */
13
#define __need_size_t
/* size_t */
14
#define __need_wchar_t
/* wchar_t */
15
#define __need_NULL
/* NULL */
16
#define __need_STDDEF_H_misc
/* offsetof() and max_align_t */
17
#define __need_max_align_t
/* llvm 21: max_align_t */
18
#define __need_offsetof
/* llvm 21: offestof() */
19
#endif
20
#include_next <stddef.h>
21
22
#else
23
#ifndef __ESBMC_HEADERS_STDDEF_H_
24
#define __ESBMC_HEADERS_STDDEF_H_
25
26
/* stddef.h is supposed to contain various compiler specific types and
27
* facilities: */
28
29
#ifndef _PTRDIFF_T_DEFINED
30
typedef
long
int
ptrdiff_t
;
31
#define _PTRDIFF_T_DEFINED
32
#endif
33
34
#ifndef __cplusplus
35
#ifndef _WCHAR_T_DEFINED
36
typedef
short
wchar_t
;
37
#define _WCHAR_T_DEFINED
38
#endif
39
#endif
40
41
// Appease mingw
42
#ifdef __need_wint_t
43
typedef
short
wint_t;
44
#endif
45
46
#ifndef _SIZE_T_DEFINED
47
typedef
unsigned
int
size_t
;
48
#define _SIZE_T_DEFINED
49
#endif
50
51
#undef NULL
52
#if defined(__cplusplus)
53
#define NULL 0
54
#else
55
#define NULL ((void *)0)
56
#endif
57
58
/* ESBMC's ANSI-C parser handles this natively */
59
#define offsetof(type, member) __builtin_offsetof(type, member)
60
61
#endif
/* __ESBMC_HEADERS_STDDEF_H_ */
62
63
#endif
/* !defined(__clang__) */
ptrdiff_t
long int ptrdiff_t
Definition
stddef.h:30
size_t
unsigned int size_t
Definition
stddef.h:47
wchar_t
short wchar_t
Definition
stddef.h:36
src
c2goto
headers
stddef.h
Generated by
1.15.0