aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/a_embedfilesdir.c
blob: 407a4f2d220ed9c157316d091281811d113a69a6 (plain) (blame)
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#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\
#if __STDC_VERSION__ >= 201112L\n\
typedef struct {long long __ll; long double __ld;} max_align_t;\n\
#endif\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     &&\n\
#define and_eq  &=\n\
#define bitand  &\n\
#define bitor   |\n\
#define compl   ~\n\
#define not     !\n\
#define not_eq  !=\n\
#define or      ||\n\
#define or_eq   |=\n\
#define xor     ^\n\
#define xor_eq  ^=\n\
")},

{"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\
")},

{"limits.h", S("\
#pragma once\n\
#define CHAR_BIT    8\n\
#ifdef __CHAR_UNSIGNED__\n\
#define CHAR_MAX    UCHAR_MAX\n\
#define CHAR_MIN    0\n\
#else\n\
#define CHAR_MAX    SCHAR_MAX\n\
#define CHAR_MIN    SCHAR_MIN\n\
#endif\n\
#define UCHAR_MAX   255\n\
#define SCHAR_MAX   +127\n\
#define SCHAR_MIN   (-128)\n\
#define USHRT_MAX   65535\n\
#define SHRT_MAX    32767\n\
#define SHRT_MIN    (-32768)\n\
#define MB_LEN_MAX  16\n\
#define UINT_MAX    4294967295\n\
#define INT_MAX     2147483647\n\
#define INT_MIN     (-INT_MAX - 1)\n\
#if __SIZEOF_LONG__ == __SIZEOF__INT__\n\
#define ULONG_MAX   UINT_MAX\n\
#define LONG_MAX    INT_MAX\n\
#define LONG_MIN    INT_MIN\n\
#else\n\
#define ULONG_MAX   ULLONG_MAX\n\
#define LONG_MAX    LLONG_MAX\n\
#define LONG_MIN    LLONG_MIN\n\
#endif\n\
#define ULLONG_MAX  18446744073709551615ULL\n\
#define LLONG_MAX   9223372036854775807LL\n\
#define LLONG_MIN   (-LLONG_MAX-1)\n\
")},

   {NULL}
};

/* vim:set ts=3 sw=3 expandtab: */