source: src/prelude/builtins.c @ 7fe2498

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change on this file since 7fe2498 was 8d6155e9, checked in by Thierry Delisle <tdelisle@…>, 7 years ago

Updated builtins to gcc-6.3
Cleaned builtin generation code
Added atomic builtins

  • Property mode set to 100644
File size: 21.6 KB
RevLine 
[f96b061]1#define DEF_BUILTIN(ENUM, NAME, CLASS, TYPE, LIBTYPE, BOTH_P, FALLBACK_P, NONANSI_P, ATTRS, IMPLICIT, COND) TYPE(NAME)
2#define FUNC_SIMPLE(RETURN, NAME, ARGS...) RETURN NAME(ARGS);
3#define BT_LAST(NAME) FUNC_SIMPLE(void, NAME)
4
[8d6155e9]5#define BT_BOOL _Bool
[f96b061]6#define BT_UINTMAX unsigned long int
7#define BT_UINT16 short int
8#define BT_UINT32 int
9#define BT_UINT64 long long int
10#define BT_UINT unsigned int
11#define BT_INTMAX long int
12#define BT_INTPTR int *
13#define BT_WINT unsigned int
14#define BT_INT int
15#define BT_ULONGLONG unsigned long long
16#define BT_ULONG unsigned long
17#define BT_UNSIGNED unsigned
18#define BT_COMPLEX_LONGDOUBLE _Complex long double
19#define BT_COMPLEX_DOUBLE _Complex double
20#define BT_COMPLEX_FLOAT _Complex float
21#define BT_LONGDOUBLEPTR long double *
22#define BT_LONGDOUBLE long double
23#define BT_LONGLONG long long
24#define BT_LONG long
[8d6155e9]25#define BT_DFLOAT32 __Unsupported
26#define BT_DFLOAT64 __Unsupported
27#define BT_DFLOAT128 __Unsupported
[f96b061]28#define BT_DOUBLEPTR double *
29#define BT_DOUBLE double
30#define BT_FLOATPTR float *
[8d6155e9]31#define BT_FLOAT128X __Unsupported
32#define BT_FLOAT128 __Unsupported
33#define BT_FLOAT64X __Unsupported
34#define BT_FLOAT64 __Unsupported
35#define BT_FLOAT32X __Unsupported
36#define BT_FLOAT32 __Unsupported
37#define BT_FLOAT16 __Unsupported
[f96b061]38#define BT_FLOAT float
[8d6155e9]39#define BT_CONST_VPTR const volatile void *
[f96b061]40#define BT_CONST_PTR const void *
41#define BT_CONST_STRING const char *
[8d6155e9]42#define BT_CONST_TM_PTR const struct tm *
[f96b061]43#define BT_PTR_FN_VOID_VAR_PTR_SIZE
44#define BT_PTR_CONST_STRING char *const
45#define BT_PTRMODE_PTR
46#define BT_PTRPTR void **
[8d6155e9]47#define BT_VPTR volatile void *
[f96b061]48#define BT_PTR void *
49#define BT_VOID void
50#define BT_STRING char *
51#define BT_FILEPTR struct _IO_FILE *
52#define BT_SIZE unsigned long
53#define BT_VAR ...
54#define BT_VALIST_ARG __builtin_va_list
55#define BT_VALIST_REF __builtin_va_list
56#define BT_UNWINDWORD void *
57#define BT_WORD
58#define BT_SSIZE long int
59#define BT_PID int
[8d6155e9]60#define BT_I16 __int128
61#define BT_I8 long long int
62#define BT_I4 int
63#define BT_I2 short
64#define BT_I1 char
[f96b061]65
66#define BT_FN_INT_INT_INT_INT_INT_INT_VAR(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_VAR)
67#define BT_FN_INT_LONG(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_LONG)
68#define BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR(NAME) FUNC_SIMPLE(BT_SIZE, NAME, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_PTR)
[8d6155e9]69#define BT_FN_VOID_VPTR_I4_INT(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_VPTR, BT_I4, BT_INT)
70#define BT_FN_I1_VPTR_I1_INT(NAME) FUNC_SIMPLE(BT_I1, NAME, BT_VPTR, BT_I1, BT_INT)
[f96b061]71#define BT_FN_INT(NAME) FUNC_SIMPLE(BT_INT, NAME)
[8d6155e9]72#define BT_FN_STRING_CONST_STRING_CONST_STRING(NAME) FUNC_SIMPLE(BT_STRING, NAME, BT_CONST_STRING, BT_CONST_STRING)
[f96b061]73#define BT_FN_PTR_CONST_PTR_SIZE_VAR(NAME) FUNC_SIMPLE(BT_PTR, NAME, BT_CONST_PTR, BT_SIZE, BT_VAR)
[8d6155e9]74#define BT_FN_INT_ULONGLONG(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_ULONGLONG)
75#define BT_FN_INT_CONST_STRING_CONST_STRING_SIZE(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE)
76#define BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING)
77#define BT_FN_STRING_STRING_CONST_STRING_SIZE(NAME) FUNC_SIMPLE(BT_STRING, NAME, BT_STRING, BT_CONST_STRING, BT_SIZE)
78#define BT_FN_VOID_PTR_SIZE(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_PTR, BT_SIZE)
[f96b061]79#define BT_FN_INTMAX_INTMAX(NAME) FUNC_SIMPLE(BT_INTMAX, NAME, BT_INTMAX)
[8d6155e9]80#define BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR(NAME) FUNC_SIMPLE(BT_SIZE, NAME, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR)
81#define BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE(NAME) FUNC_SIMPLE(BT_PTR, NAME, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE)
[f96b061]82#define BT_FN_VOID_VALIST_REF_VALIST_ARG(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_VALIST_REF, BT_VALIST_ARG)
83#define BT_FN_LONGDOUBLE_CONST_STRING(NAME) FUNC_SIMPLE(BT_LONGDOUBLE, NAME, BT_CONST_STRING)
[8d6155e9]84#define BT_FN_LONGLONG_FLOAT(NAME) FUNC_SIMPLE(BT_LONGLONG, NAME, BT_FLOAT)
85#define BT_FN_DFLOAT32(NAME) FUNC_SIMPLE(BT_DFLOAT32, NAME)
86#define BT_FN_INT_LONGDOUBLE(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_LONGDOUBLE)
87#define BT_FN_BOOL_VPTR_I2_I2(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_VPTR, BT_I2, BT_I2)
88#define BT_FN_FLOAT_FLOAT_FLOATPTR(NAME) FUNC_SIMPLE(BT_FLOAT, NAME, BT_FLOAT, BT_FLOATPTR)
89#define BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE(NAME) FUNC_SIMPLE(BT_LONGDOUBLE, NAME, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
[f96b061]90#define BT_FN_VOID_PTR_INT(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_PTR, BT_INT)
[8d6155e9]91#define BT_FN_LONG_LONG(NAME) FUNC_SIMPLE(BT_LONG, NAME, BT_LONG)
92#define BT_FN_INT_DOUBLE(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_DOUBLE)
93#define BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_VPTR, BT_PTR, BT_I16, BT_BOOL, BT_INT, BT_INT)
94#define BT_FN_UINT(NAME) FUNC_SIMPLE(BT_UINT, NAME)
95#define BT_FN_DOUBLE_DOUBLE_INT(NAME) FUNC_SIMPLE(BT_DOUBLE, NAME, BT_DOUBLE, BT_INT)
96#define BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_LONGDOUBLE, BT_LONGDOUBLEPTR, BT_LONGDOUBLEPTR)
97#define BT_FN_INT_INT_CONST_STRING_VAR(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_INT, BT_CONST_STRING, BT_VAR)
98#define BT_FN_BOOL_INT_INT_INTPTR(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_INT, BT_INT, BT_INTPTR)
99#define BT_FN_DFLOAT32_DFLOAT32(NAME) FUNC_SIMPLE(BT_DFLOAT32, NAME, BT_DFLOAT32)
100#define BT_FN_VOID_VAR(NAME) FUNC_SIMPLE(BT_VOID, NAME)
101#define BT_FN_INT_CONST_STRING_FILEPTR(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_CONST_STRING, BT_FILEPTR)
102#define BT_FN_VOID_INT(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_INT)
103#define BT_FN_DFLOAT128_CONST_STRING(NAME) FUNC_SIMPLE(BT_DFLOAT128, NAME, BT_CONST_STRING)
104#define BT_FN_BOOL_VPTR_I16_I16(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_VPTR, BT_I16, BT_I16)
105#define BT_FN_BOOL_LONG_LONG_LONGPTR(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_LONG, BT_LONG, BT_LONG, BT_PTR)
106#define BT_FN_INT_DFLOAT64(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_DFLOAT64)
[f96b061]107#define BT_FN_LONG_FLOAT(NAME) FUNC_SIMPLE(BT_LONG, NAME, BT_FLOAT)
[8d6155e9]108#define BT_FN_CONST_STRING(NAME) FUNC_SIMPLE(BT_CONST_STRING, NAME)
109#define BT_FN_SIZE_CONST_STRING_CONST_STRING(NAME) FUNC_SIMPLE(BT_SIZE, NAME, BT_CONST_STRING, BT_CONST_STRING)
110#define BT_FN_COMPLEX_FLOAT_FLOAT(NAME) FUNC_SIMPLE(BT_COMPLEX_FLOAT, NAME, BT_FLOAT)
111#define BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_SIZE, BT_VPTR, BT_PTR, BT_PTR, BT_INT)
112#define BT_FN_STRING_CONST_STRING_CONST_STRING_INT(NAME) FUNC_SIMPLE(BT_STRING, NAME, BT_CONST_STRING, BT_CONST_STRING, BT_INT)
113#define BT_FN_INT_CONST_STRING_CONST_STRING_VAR(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_CONST_STRING, BT_CONST_STRING, BT_VAR)
114#define BT_FN_LONGDOUBLE_LONGDOUBLE_INT(NAME) FUNC_SIMPLE(BT_LONGDOUBLE, NAME, BT_LONGDOUBLE, BT_INT)
115#define BT_FN_BOOL_VPTR_I1_I1(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_VPTR, BT_I1, BT_I1)
116#define BT_FN_DOUBLE_DOUBLE_DOUBLEPTR(NAME) FUNC_SIMPLE(BT_DOUBLE, NAME, BT_DOUBLE, BT_DOUBLEPTR)
117#define BT_FN_DOUBLE_DOUBLE_DOUBLE(NAME) FUNC_SIMPLE(BT_DOUBLE, NAME, BT_DOUBLE, BT_DOUBLE)
118#define BT_FN_LONGDOUBLE_LONGDOUBLE_LONG(NAME) FUNC_SIMPLE(BT_LONGDOUBLE, NAME, BT_LONGDOUBLE, BT_LONG)
119#define BT_FN_I16_VPTR_I16_INT(NAME) FUNC_SIMPLE(BT_I16, NAME, BT_VPTR, BT_I16, BT_INT)
120#define BT_FN_INT_STRING_CONST_STRING_VALIST_ARG(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG)
121#define BT_FN_INT_STRING_CONST_STRING_VAR(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_STRING, BT_CONST_STRING, BT_VAR)
122#define BT_FN_UINT64_UINT64(NAME) FUNC_SIMPLE(BT_UINT64, NAME, BT_UINT64)
123#define BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_VPTR, BT_PTR, BT_I2, BT_BOOL, BT_INT, BT_INT)
124#define BT_FN_PTR_PTR_CONST_PTR_SIZE(NAME) FUNC_SIMPLE(BT_PTR, NAME, BT_PTR, BT_CONST_PTR, BT_SIZE)
125#define BT_FN_STRING_CONST_STRING_INT(NAME) FUNC_SIMPLE(BT_STRING, NAME, BT_CONST_STRING, BT_INT)
[f96b061]126#define BT_FN_FLOAT_FLOAT_LONG(NAME) FUNC_SIMPLE(BT_FLOAT, NAME, BT_FLOAT, BT_LONG)
[8d6155e9]127#define BT_FN_FLOAT_CONST_STRING(NAME) FUNC_SIMPLE(BT_FLOAT, NAME, BT_CONST_STRING)
128#define BT_FN_FLOAT_FLOAT_INTPTR(NAME) FUNC_SIMPLE(BT_FLOAT, NAME, BT_FLOAT, BT_INTPTR)
129#define BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
130#define BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE(NAME) FUNC_SIMPLE(BT_COMPLEX_LONGDOUBLE, NAME, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
131#define BT_FN_INT_LONGLONG(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_LONGLONG)
132#define BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE(NAME) FUNC_SIMPLE(BT_DOUBLE, NAME, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
133#define BT_FN_PTR_PTR(NAME) FUNC_SIMPLE(BT_PTR, NAME, BT_PTR)
134#define BT_FN_I1_VPTR_I1_I1(NAME) FUNC_SIMPLE(BT_I1, NAME, BT_VPTR, BT_I1, BT_I1)
135#define BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE(NAME) FUNC_SIMPLE(BT_LONGDOUBLE, NAME, BT_COMPLEX_LONGDOUBLE)
136#define BT_FN_FLOAT_FLOAT_LONGDOUBLE(NAME) FUNC_SIMPLE(BT_FLOAT, NAME, BT_FLOAT, BT_LONGDOUBLE)
137#define BT_FN_DOUBLE_CONST_STRING(NAME) FUNC_SIMPLE(BT_DOUBLE, NAME, BT_CONST_STRING)
138#define BT_FN_DFLOAT128(NAME) FUNC_SIMPLE(BT_DFLOAT128, NAME)
139#define BT_FN_I16_CONST_VPTR_INT(NAME) FUNC_SIMPLE(BT_I16, NAME, BT_CONST_VPTR, BT_INT)
140#define BT_FN_FLOAT_FLOAT_FLOAT_FLOAT(NAME) FUNC_SIMPLE(BT_FLOAT, NAME, BT_FLOAT, BT_FLOAT, BT_FLOAT)
141#define BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING, BT_VAR)
[f96b061]142#define BT_FN_SIZE_CONST_PTR_INT(NAME) FUNC_SIMPLE(BT_SIZE, NAME, BT_CONST_PTR, BT_INT)
[8d6155e9]143#define BT_FN_DOUBLE_DOUBLE_LONGDOUBLE(NAME) FUNC_SIMPLE(BT_DOUBLE, NAME, BT_DOUBLE, BT_LONGDOUBLE)
144#define BT_FN_LONG_LONGDOUBLE(NAME) FUNC_SIMPLE(BT_LONG, NAME, BT_LONGDOUBLE)
145#define BT_FN_BOOL_SIZE_CONST_VPTR(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_SIZE, BT_CONST_VPTR)
146#define BT_FN_I16_VPTR_I16(NAME) FUNC_SIMPLE(BT_I16, NAME, BT_VPTR, BT_I16)
147#define BT_FN_VOID_VPTR(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_VPTR)
148#define BT_FN_DOUBLE(NAME) FUNC_SIMPLE(BT_DOUBLE, NAME)
149#define BT_FN_VOID_PTRMODE_PTR(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_PTRMODE_PTR)
150#define BT_FN_WINT_WINT(NAME) FUNC_SIMPLE(BT_WINT, NAME, BT_WINT)
151#define BT_FN_BOOL_VPTR_I8_I8(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_VPTR, BT_I8, BT_I8)
[f96b061]152#define BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR(NAME) FUNC_SIMPLE(BT_LONGDOUBLE, NAME, BT_LONGDOUBLE, BT_INTPTR)
[8d6155e9]153#define BT_FN_DOUBLE_DOUBLE_INTPTR(NAME) FUNC_SIMPLE(BT_DOUBLE, NAME, BT_DOUBLE, BT_INTPTR)
154#define BT_FN_FLOAT_COMPLEX_FLOAT(NAME) FUNC_SIMPLE(BT_FLOAT, NAME, BT_COMPLEX_FLOAT)
155#define BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_VPTR, BT_PTR, BT_I8, BT_BOOL, BT_INT, BT_INT)
156#define BT_FN_I4_CONST_VPTR_INT(NAME) FUNC_SIMPLE(BT_I4, NAME, BT_CONST_VPTR, BT_INT)
157#define BT_FN_INT_WINT(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_WINT)
158#define BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_DOUBLE, BT_DOUBLEPTR, BT_DOUBLEPTR)
159#define BT_FN_I8_VPTR_I8_INT(NAME) FUNC_SIMPLE(BT_I8, NAME, BT_VPTR, BT_I8, BT_INT)
160#define BT_FN_VOID_PTR_WORD_WORD_PTR(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
161#define BT_FN_I4_VPTR_I4_I4(NAME) FUNC_SIMPLE(BT_I4, NAME, BT_VPTR, BT_I4, BT_I4)
162#define BT_FN_PTR_CONST_PTR_INT_SIZE(NAME) FUNC_SIMPLE(BT_PTR, NAME, BT_CONST_PTR, BT_INT, BT_SIZE)
163#define BT_FN_INT_UINTMAX(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_UINTMAX)
164#define BT_FN_BOOL_ULONGLONG_ULONGLONG_ULONGLONGPTR(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG, BT_PTR)
165#define BT_FN_LONGLONG_LONGDOUBLE(NAME) FUNC_SIMPLE(BT_LONGLONG, NAME, BT_LONGDOUBLE)
166#define BT_FN_FLOAT_FLOAT(NAME) FUNC_SIMPLE(BT_FLOAT, NAME, BT_FLOAT)
167#define BT_FN_INT_INT_CONST_STRING_VALIST_ARG(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
[f96b061]168#define BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE(NAME) FUNC_SIMPLE(BT_STRING, NAME, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE)
[8d6155e9]169#define BT_FN_INT_DFLOAT128(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_DFLOAT128)
[f96b061]170#define BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE(NAME) FUNC_SIMPLE(BT_PTR, NAME, BT_PTR_FN_VOID_VAR_PTR_SIZE)
[8d6155e9]171#define BT_FN_PTR_SIZE(NAME) FUNC_SIMPLE(BT_PTR, NAME, BT_SIZE)
172#define BT_FN_DFLOAT32_CONST_STRING(NAME) FUNC_SIMPLE(BT_DFLOAT32, NAME, BT_CONST_STRING)
173#define BT_FN_LONG_LONG_LONG(NAME) FUNC_SIMPLE(BT_LONG, NAME, BT_LONG, BT_LONG)
174#define BT_FN_VOID_VPTR_I8_INT(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_VPTR, BT_I8, BT_INT)
175#define BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_STRING, BT_SIZE, BT_INT, BT_SIZE, BT_CONST_STRING, BT_VAR)
176#define BT_FN_BOOL_VAR(NAME) FUNC_SIMPLE(BT_BOOL, NAME)
177#define BT_FN_INT_FILEPTR_CONST_STRING_VAR(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_FILEPTR, BT_CONST_STRING, BT_VAR)
178#define BT_FN_COMPLEX_DOUBLE_DOUBLE(NAME) FUNC_SIMPLE(BT_COMPLEX_DOUBLE, NAME, BT_DOUBLE)
[f96b061]179#define BT_FN_INT_ULONG(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_ULONG)
[8d6155e9]180#define BT_FN_STRING_CONST_STRING_SIZE(NAME) FUNC_SIMPLE(BT_STRING, NAME, BT_CONST_STRING, BT_SIZE)
181#define BT_FN_VOID(NAME) FUNC_SIMPLE(BT_VOID, NAME)
[f96b061]182#define BT_FN_INT_DFLOAT32(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_DFLOAT32)
[8d6155e9]183#define BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_SIZE, BT_CONST_VPTR, BT_PTR, BT_INT)
[f96b061]184#define BT_FN_UNWINDWORD_PTR(NAME) FUNC_SIMPLE(BT_UNWINDWORD, NAME, BT_PTR)
[8d6155e9]185#define BT_FN_I1_CONST_VPTR_INT(NAME) FUNC_SIMPLE(BT_I1, NAME, BT_CONST_VPTR, BT_INT)
186#define BT_FN_INT_STRING_SIZE_CONST_STRING_VAR(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VAR)
187#define BT_FN_STRING_CONST_STRING(NAME) FUNC_SIMPLE(BT_STRING, NAME, BT_CONST_STRING)
188#define BT_FN_PTR_SIZE_SIZE(NAME) FUNC_SIMPLE(BT_PTR, NAME, BT_SIZE, BT_SIZE)
189#define BT_FN_VOID_VPTR_INT(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_VPTR, BT_INT)
190#define BT_FN_FLOAT(NAME) FUNC_SIMPLE(BT_FLOAT, NAME)
191#define BT_FN_PTR_VAR(NAME) FUNC_SIMPLE(BT_PTR, NAME)
192#define BT_FN_I8_CONST_VPTR_INT(NAME) FUNC_SIMPLE(BT_I8, NAME, BT_CONST_VPTR, BT_INT)
193#define BT_FN_LONG_DOUBLE(NAME) FUNC_SIMPLE(BT_LONG, NAME, BT_DOUBLE)
194#define BT_FN_LONGLONG_DOUBLE(NAME) FUNC_SIMPLE(BT_LONGLONG, NAME, BT_DOUBLE)
195#define BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_VPTR, BT_PTR, BT_I4, BT_BOOL, BT_INT, BT_INT)
196#define BT_FN_VOID_CONST_PTR_VAR(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_CONST_PTR, BT_VAR)
197#define BT_FN_DOUBLE_DOUBLE_LONG(NAME) FUNC_SIMPLE(BT_DOUBLE, NAME, BT_DOUBLE, BT_LONG)
[f96b061]198#define BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR(NAME) FUNC_SIMPLE(BT_DOUBLE, NAME, BT_DOUBLE, BT_DOUBLE, BT_INTPTR)
199#define BT_FN_LONGDOUBLE_LONGDOUBLE(NAME) FUNC_SIMPLE(BT_LONGDOUBLE, NAME, BT_LONGDOUBLE)
[8d6155e9]200#define BT_FN_INT_PTR(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_PTR)
201#define BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR(NAME) FUNC_SIMPLE(BT_LONGDOUBLE, NAME, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INTPTR)
202#define BT_FN_BOOL_VPTR_INT(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_VPTR, BT_INT)
203#define BT_FN_INT_CONST_STRING_VALIST_ARG(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_CONST_STRING, BT_VALIST_ARG)
204#define BT_FN_DOUBLE_COMPLEX_DOUBLE(NAME) FUNC_SIMPLE(BT_DOUBLE, NAME, BT_COMPLEX_DOUBLE)
205#define BT_FN_DOUBLE_DOUBLE(NAME) FUNC_SIMPLE(BT_DOUBLE, NAME, BT_DOUBLE)
206#define BT_FN_I2_VPTR_I2_INT(NAME) FUNC_SIMPLE(BT_I2, NAME, BT_VPTR, BT_I2, BT_INT)
207#define BT_FN_INT_INT_FILEPTR(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_INT, BT_FILEPTR)
208#define BT_FN_DFLOAT64_DFLOAT64(NAME) FUNC_SIMPLE(BT_DFLOAT64, NAME, BT_DFLOAT64)
209#define BT_FN_I8_VPTR_I8(NAME) FUNC_SIMPLE(BT_I8, NAME, BT_VPTR, BT_I8)
210#define BT_FN_DOUBLE_INT_DOUBLE(NAME) FUNC_SIMPLE(BT_DOUBLE, NAME, BT_INT, BT_DOUBLE)
211#define BT_FN_I16_VPTR_I16_I16(NAME) FUNC_SIMPLE(BT_I16, NAME, BT_VPTR, BT_I16, BT_I16)
212#define BT_FN_VOID_VPTR_I16_INT(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_VPTR, BT_I16, BT_INT)
213#define BT_FN_VOID_VPTR_I1_INT(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_VPTR, BT_I1, BT_INT)
214#define BT_FN_DFLOAT64(NAME) FUNC_SIMPLE(BT_DFLOAT64, NAME)
[f96b061]215#define BT_FN_FLOAT_INT_FLOAT(NAME) FUNC_SIMPLE(BT_FLOAT, NAME, BT_INT, BT_FLOAT)
[8d6155e9]216#define BT_FN_I2_VPTR_I2_I2(NAME) FUNC_SIMPLE(BT_I2, NAME, BT_VPTR, BT_I2, BT_I2)
217#define BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT(NAME) FUNC_SIMPLE(BT_COMPLEX_FLOAT, NAME, BT_COMPLEX_FLOAT)
218#define BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE(NAME) FUNC_SIMPLE(BT_LONGDOUBLE, NAME, BT_LONGDOUBLE, BT_LONGDOUBLE)
219#define BT_FN_VOID_VALIST_REF_VAR(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_VALIST_REF, BT_VAR)
220#define BT_FN_UINT32_UINT32(NAME) FUNC_SIMPLE(BT_UINT32, NAME, BT_UINT32)
221#define BT_FN_FLOAT_FLOAT_FLOAT(NAME) FUNC_SIMPLE(BT_FLOAT, NAME, BT_FLOAT, BT_FLOAT)
222#define BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
223#define BT_FN_INT_CONST_PTR_CONST_PTR_SIZE(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
[f96b061]224#define BT_FN_PTR(NAME) FUNC_SIMPLE(BT_PTR, NAME)
[8d6155e9]225#define BT_FN_FLOAT_FLOAT_INT(NAME) FUNC_SIMPLE(BT_FLOAT, NAME, BT_FLOAT, BT_INT)
226#define BT_FN_INT_UINT(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_UINT)
[f96b061]227#define BT_FN_SIZE_CONST_STRING(NAME) FUNC_SIMPLE(BT_SIZE, NAME, BT_CONST_STRING)
[8d6155e9]228#define BT_FN_PTR_PTR_INT_SIZE(NAME) FUNC_SIMPLE(BT_PTR, NAME, BT_PTR, BT_INT, BT_SIZE)
229#define BT_FN_I2_VPTR_I2(NAME) FUNC_SIMPLE(BT_I2, NAME, BT_VPTR, BT_I2)
230#define BT_FN_UINT16_UINT16(NAME) FUNC_SIMPLE(BT_UINT16, NAME, BT_UINT16)
231#define BT_FN_INT_INTMAX(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_INTMAX)
232#define BT_FN_VOID_PTR_PTR(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_PTR, BT_PTR)
233#define BT_FN_STRING_STRING_CONST_STRING(NAME) FUNC_SIMPLE(BT_STRING, NAME, BT_STRING, BT_CONST_STRING)
234#define BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE(NAME) FUNC_SIMPLE(BT_COMPLEX_DOUBLE, NAME, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
235#define BT_FN_I2_CONST_VPTR_INT(NAME) FUNC_SIMPLE(BT_I2, NAME, BT_CONST_VPTR, BT_INT)
236#define BT_FN_I1_VPTR_I1(NAME) FUNC_SIMPLE(BT_I1, NAME, BT_VPTR, BT_I1)
237#define BT_FN_LONGLONG_LONGLONG(NAME) FUNC_SIMPLE(BT_LONGLONG, NAME, BT_LONGLONG)
[f96b061]238#define BT_FN_PID(NAME) FUNC_SIMPLE(BT_PID, NAME)
[8d6155e9]239#define BT_FN_I4_VPTR_I4(NAME) FUNC_SIMPLE(BT_I4, NAME, BT_VPTR, BT_I4)
240#define BT_FN_I8_VPTR_I8_I8(NAME) FUNC_SIMPLE(BT_I8, NAME, BT_VPTR, BT_I8, BT_I8)
241#define BT_FN_VOID_PTR(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_PTR)
242#define BT_FN_VOID_VPTR_I2_INT(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_VPTR, BT_I2, BT_INT)
243#define BT_FN_VOID_SIZE_VPTR_PTR_INT(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_SIZE, BT_VPTR, BT_PTR, BT_INT)
244#define BT_FN_VOID_VALIST_REF(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_VALIST_REF)
245#define BT_FN_INT_PTRPTR_SIZE_SIZE(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_PTRPTR, BT_SIZE, BT_SIZE)
246#define BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG)
247#define BT_FN_INT_CONST_STRING(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_CONST_STRING)
248#define BT_FN_INT_CONST_STRING_VAR(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_CONST_STRING, BT_VAR)
249#define BT_FN_DFLOAT64_CONST_STRING(NAME) FUNC_SIMPLE(BT_DFLOAT64, NAME, BT_CONST_STRING)
250#define BT_FN_LONGDOUBLE(NAME) FUNC_SIMPLE(BT_LONGDOUBLE, NAME)
251#define BT_FN_PTR_PTR_INT_SIZE_SIZE(NAME) FUNC_SIMPLE(BT_PTR, NAME, BT_PTR, BT_INT, BT_SIZE, BT_SIZE)
252#define BT_FN_INT_CONST_STRING_CONST_STRING(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_CONST_STRING, BT_CONST_STRING)
253#define BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE(NAME) FUNC_SIMPLE(BT_COMPLEX_LONGDOUBLE, NAME, BT_LONGDOUBLE)
254#define BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR(NAME) FUNC_SIMPLE(BT_LONGDOUBLE, NAME, BT_LONGDOUBLE, BT_LONGDOUBLEPTR)
255#define BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_SIZE, BT_VPTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
256#define BT_FN_BOOL_UINT_UINT_UINTPTR(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_UINT, BT_UINT, BT_UINT, BT_PTR)
257#define BT_FN_BOOL_VPTR_I4_I4(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_VPTR, BT_I4, BT_I4)
258#define BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT(NAME) FUNC_SIMPLE(BT_COMPLEX_FLOAT, NAME, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
259#define BT_FN_FLOAT_FLOAT_FLOAT_INTPTR(NAME) FUNC_SIMPLE(BT_FLOAT, NAME, BT_FLOAT, BT_FLOAT, BT_INTPTR)
[f96b061]260#define BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE(NAME) FUNC_SIMPLE(BT_COMPLEX_DOUBLE, NAME, BT_COMPLEX_DOUBLE)
[8d6155e9]261#define BT_FN_I4_VPTR_I4_INT(NAME) FUNC_SIMPLE(BT_I4, NAME, BT_VPTR, BT_I4, BT_INT)
262#define BT_FN_VOID_CONST_PTR_PTR_SIZE(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_CONST_PTR, BT_PTR, BT_SIZE)
[f96b061]263#define BT_FN_DFLOAT128_DFLOAT128(NAME) FUNC_SIMPLE(BT_DFLOAT128, NAME, BT_DFLOAT128)
264#define BT_FN_LONGDOUBLE_INT_LONGDOUBLE(NAME) FUNC_SIMPLE(BT_LONGDOUBLE, NAME, BT_INT, BT_LONGDOUBLE)
[8d6155e9]265#define BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_STRING, BT_SIZE, BT_INT, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
266#define BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_FILEPTR, BT_CONST_STRING, BT_VALIST_ARG)
267#define BT_FN_INT_VAR(NAME) FUNC_SIMPLE(BT_INT, NAME)
268#define BT_FN_INT_CONST_STRING_PTR_CONST_STRING(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_CONST_STRING, BT_PTR_CONST_STRING)
269#define BT_FN_INT_INT(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_INT)
270#define BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR(NAME) FUNC_SIMPLE(BT_VOID, NAME, BT_FLOAT, BT_FLOATPTR, BT_FLOATPTR)
271#define BT_FN_INT_FLOAT(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_FLOAT)
272#define BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
273#define BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR(NAME) FUNC_SIMPLE(BT_INT, NAME, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VAR)
274#define BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR(NAME) FUNC_SIMPLE(BT_SSIZE, NAME, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VAR)
275#define BT_FN_BOOL_LONGLONG_LONGLONG_LONGLONGPTR(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_LONGLONG, BT_LONGLONG, BT_LONGLONG, BT_PTR)
276#define BT_FN_PTR_PTR_SIZE(NAME) FUNC_SIMPLE(BT_PTR, NAME, BT_PTR, BT_SIZE)
277#define BT_FN_PTR_UINT(NAME) FUNC_SIMPLE(BT_PTR, NAME, BT_UINT)
278#define BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE(NAME) FUNC_SIMPLE(BT_COMPLEX_LONGDOUBLE, NAME, BT_COMPLEX_LONGDOUBLE)
279#define BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_VPTR, BT_PTR, BT_I1, BT_BOOL, BT_INT, BT_INT)
280#define BT_FN_BOOL_ULONG_ULONG_ULONGPTR(NAME) FUNC_SIMPLE(BT_BOOL, NAME, BT_ULONG, BT_ULONG, BT_ULONG, BT_PTR)
[f96b061]281
282#include "builtins.def"
283
284extern const char *__PRETTY_FUNCTION__;
Note: See TracBrowser for help on using the repository browser.