1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
#include <stddef.h>
#define S(s) s"\0\0\0\0\0", (sizeof s) - 1
struct EmbedFile {
const char *name;
const char *s;
size_t len;
} embedfilesdir[] = {
{"stddef.h", S("\
#pragma once\n\
typedef __PTRDIFF_TYPE__ ptrdiff_t;\n\
typedef __SIZE_TYPE__ size_t;\n\
typedef __WCHAR_TYPE__ wchar_t;\n\
#undef NULL\n\
#define NULL ((void*)0)\n\
#undef offsetof\n\
#define offsetof(type, memb) ((size_t)((char *)&((type *)0)->memb - (char *)0))\n\
")},
{"stdarg.h", S("\
#pragma once\n\
typedef __builtin_va_list va_list;\n\
#ifndef __GNUC_VA_LIST\n\
#define __GNUC_VA_LIST\n\
typedef __builtin_va_list __gnuc_va_list;\n\
#endif\n\
#define va_start(ap,n) __builtin_va_start(ap)\n\
#define va_arg(ap,type) __builtin_va_arg(ap, type)\n\
#define va_copy(dst,src) __builtin_va_copy(dst, src)\n\
#define va_end(ap) __builtin_va_end(ap)\n\
")},
{"stdbool.h", S("\
#pragma once\n\
#if __STDC_VERSION__ < 202311L /* in C23 they are keywords */\n\
#define bool _Bool \n\
#define true 1\n\
#define false 0\n\
#endif\n\
#define __bool_true_false_are_defined 1\n\
")},
{"float.h", S("\
#pragma once\n\
#define FLT_ROUNDS (-1)\n\
#define FLT_EVAL_METHOD (-1)\n\
#define FLT_HAS_SUBNORM (-1)\n\
#define DBL_HAS_SUBNORM (-1)\n\
#define LDBL_HAS_SUBNORM (-1)\n\
#define FLT_RADIX 2\n\
#define FLT_MANT_DIG 24\n\
#define DBL_MANT_DIG 53\n\
#define LDBL_MANT_DIG 53\n\
#define FLT_DECIMAL_DIG 9\n\
#define DBL_DECIMAL_DIG 17\n\
#define LDBL_DECIMAL_DIG 17\n\
#define DECIMAL_DIG 17\n\
#define FLT_DIG 6\n\
#define DBL_DIG 15\n\
#define LDBL_DIG 15\n\
#define FLT_MIN_EXP (-125)\n\
#define DBL_MIN_EXP (-1021)\n\
#define LDBL_MIN_EXP (-1021)\n\
#define FLT_MIN_10_EXP (-37)\n\
#define DBL_MIN_10_EXP (-307)\n\
#define LDBL_MIN_10_EXP (-307)\n\
#define FLT_MAX_EXP 128\n\
#define DBL_MAX_EXP 1024\n\
#define LDBL_MAX_EXP 1024\n\
#define FLT_MAX_10_EXP 38\n\
#define DBL_MAX_10_EXP 308\n\
#define LDBL_MAX_10_EXP 308\n\
#define FLT_MAX 3.40282e+38\n\
#define DBL_MAX 1.79769e+308\n\
#define LDBL_MAX 1.79769e+308\n\
#define FLT_EPSILON 1.19209e-07\n\
#define DBL_EPSILON 2.22045e-16\n\
#define LDBL_EPSILON 2.22045e-16\n\
#define FLT_MIN 1.17549e-38\n\
#define DBL_MIN 2.22507e-308\n\
#define LDBL_MIN 2.22507e-308\n\
#define FLT_TRUE_MIN 1.4013e-45\n\
#define DBL_TRUE_MIN 4.94066e-324\n\
#define LDBL_TRUE_MIN 4.94066e-324\n\
")},
{"iso646.h", S("\
#define and &&\
#define and_eq &=\
#define bitand &\
#define bitor |\
#define compl ~\
#define not !\
#define not_eq !=\
#define or ||\
#define or_eq |=\
#define xor ^\
#define xor_eq ^=\
")},
{"stdnoreturn.h", S("\
#define noreturn _Noreturn\n\
")},
{"stdalign.h", S("\
#if __STDC_VERSION__ < 202311L\n\
#define alignas _Alignas\n\
#define alignof _Alignof\n\
#define __alignas_is_defined 1\n\
#define __alignof_is_defined 1\n\
#endif\n\
")},
{NULL}
};
/* vim:set ts=3 sw=3 expandtab: */
|