]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/builtin-types.def
jit: prevent ICE with type mismatch in gcc_jit_block_add_assignment_op
[thirdparty/gcc.git] / gcc / builtin-types.def
CommitLineData
5624e564 1/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
10841285 2
1322177d 3This file is part of GCC.
10841285 4
1322177d
LB
5GCC is free software; you can redistribute it and/or modify it under
6the terms of the GNU General Public License as published by the Free
9dcd6f09 7Software Foundation; either version 3, or (at your option) any later
1322177d 8version.
10841285 9
1322177d
LB
10GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11WARRANTY; without even the implied warranty of MERCHANTABILITY or
12FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13for more details.
10841285
MM
14
15You should have received a copy of the GNU General Public License
9dcd6f09
NC
16along with GCC; see the file COPYING3. If not see
17<http://www.gnu.org/licenses/>. */
10841285 18
a457ee07 19/* This header provides a declarative way of describing the types that
10841285
MM
20 are used when declaring builtin functions.
21
22 Before including this header, you must define the following macros:
23
24 DEF_PRIMITIVE_TYPE (ENUM, TYPE)
25
26 The ENUM is an identifier indicating which type is being defined.
27 TYPE is an expression for a `tree' that represents the type.
28
29 DEF_FUNCTION_TYPE_0 (ENUM, RETURN)
30 DEF_FUNCTION_TYPE_1 (ENUM, RETURN, ARG1)
31 DEF_FUNCTION_TYPE_2 (ENUM, RETURN, ARG1, ARG2)
f6a7cffc 32 [...]
10841285
MM
33
34 These macros describe function types. ENUM is as above. The
35 RETURN type is one of the enumerals already defined. ARG1, ARG2,
8225879c 36 etc, give the types of the arguments, similarly.
10841285
MM
37
38 DEF_FUNCTION_TYPE_VAR_0 (ENUM, RETURN)
39 DEF_FUNCTION_TYPE_VAR_1 (ENUM, RETURN, ARG1)
40 DEF_FUNCTION_TYPE_VAR_2 (ENUM, RETURN, ARG1, ARG2)
f6a7cffc 41 [...]
10841285
MM
42
43 Similar, but for function types that take variable arguments.
44 For example:
45
46 DEF_FUNCTION_TYPE_1 (BT_INT_DOUBLE, BT_INT, BT_DOUBLE)
47
48 describes the type `int ()(double)', using the enumeral
49 BT_INT_DOUBLE, whereas:
50
51 DEF_FUNCTION_TYPE_VAR_1 (BT_INT_DOUBLE_VAR, BT_INT, BT_DOUBLE)
52
53 describes the type `int ()(double, ...)'.
c22cacf3 54
10841285
MM
55 DEF_POINTER_TYPE (ENUM, TYPE)
56
57 This macro describes a pointer type. ENUM is as above; TYPE is
58 the type pointed to. */
59
60DEF_PRIMITIVE_TYPE (BT_VOID, void_type_node)
48ae6c13 61DEF_PRIMITIVE_TYPE (BT_BOOL, boolean_type_node)
10841285 62DEF_PRIMITIVE_TYPE (BT_INT, integer_type_node)
2319a1d1 63DEF_PRIMITIVE_TYPE (BT_UINT, unsigned_type_node)
10841285 64DEF_PRIMITIVE_TYPE (BT_LONG, long_integer_type_node)
2319a1d1 65DEF_PRIMITIVE_TYPE (BT_ULONG, long_unsigned_type_node)
10841285 66DEF_PRIMITIVE_TYPE (BT_LONGLONG, long_long_integer_type_node)
2319a1d1
JB
67DEF_PRIMITIVE_TYPE (BT_ULONGLONG, long_long_unsigned_type_node)
68DEF_PRIMITIVE_TYPE (BT_INTMAX, intmax_type_node)
69DEF_PRIMITIVE_TYPE (BT_UINTMAX, uintmax_type_node)
ac868f29 70DEF_PRIMITIVE_TYPE (BT_UINT16, uint16_type_node)
167fa32c
EC
71DEF_PRIMITIVE_TYPE (BT_UINT32, uint32_type_node)
72DEF_PRIMITIVE_TYPE (BT_UINT64, uint64_type_node)
8893239d 73DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 1))
7b0518e3
UW
74DEF_PRIMITIVE_TYPE (BT_UNWINDWORD, (*lang_hooks.types.type_for_mode)
75 (targetm.unwind_word_mode (), 1))
10841285 76DEF_PRIMITIVE_TYPE (BT_FLOAT, float_type_node)
10841285 77DEF_PRIMITIVE_TYPE (BT_DOUBLE, double_type_node)
3c260e1d 78DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE, long_double_type_node)
10841285
MM
79DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT, complex_float_type_node)
80DEF_PRIMITIVE_TYPE (BT_COMPLEX_DOUBLE, complex_double_type_node)
3c260e1d 81DEF_PRIMITIVE_TYPE (BT_COMPLEX_LONGDOUBLE, complex_long_double_type_node)
10841285
MM
82
83DEF_PRIMITIVE_TYPE (BT_PTR, ptr_type_node)
498c0f27 84DEF_PRIMITIVE_TYPE (BT_FILEPTR, fileptr_type_node)
10841285 85DEF_PRIMITIVE_TYPE (BT_CONST_PTR, const_ptr_type_node)
48ae6c13
RH
86DEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR,
87 build_pointer_type
88 (build_qualified_type (void_type_node,
89 TYPE_QUAL_VOLATILE)))
86951993
AM
90DEF_PRIMITIVE_TYPE (BT_CONST_VOLATILE_PTR,
91 build_pointer_type
92 (build_qualified_type (void_type_node,
93 TYPE_QUAL_VOLATILE|TYPE_QUAL_CONST)))
b0c48229 94DEF_PRIMITIVE_TYPE (BT_PTRMODE, (*lang_hooks.types.type_for_mode)(ptr_mode, 0))
a2a919aa
KG
95DEF_PRIMITIVE_TYPE (BT_INT_PTR, integer_ptr_type_node)
96DEF_PRIMITIVE_TYPE (BT_FLOAT_PTR, float_ptr_type_node)
97DEF_PRIMITIVE_TYPE (BT_DOUBLE_PTR, double_ptr_type_node)
dda6ecae
AH
98DEF_PRIMITIVE_TYPE (BT_CONST_DOUBLE_PTR,
99 build_pointer_type
100 (build_qualified_type (double_type_node,
101 TYPE_QUAL_CONST)))
a2a919aa 102DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE_PTR, long_double_ptr_type_node)
d1c38823 103DEF_PRIMITIVE_TYPE (BT_PID, pid_type_node)
c9f8536c 104DEF_PRIMITIVE_TYPE (BT_SIZE, size_type_node)
178b2b9f 105DEF_PRIMITIVE_TYPE (BT_SSIZE, signed_size_type_node)
ca4944e1 106DEF_PRIMITIVE_TYPE (BT_WINT, wint_type_node)
10841285
MM
107DEF_PRIMITIVE_TYPE (BT_STRING, string_type_node)
108DEF_PRIMITIVE_TYPE (BT_CONST_STRING, const_string_type_node)
10841285 109
9a8ce21f
JG
110DEF_PRIMITIVE_TYPE (BT_DFLOAT32, dfloat32_type_node)
111DEF_PRIMITIVE_TYPE (BT_DFLOAT64, dfloat64_type_node)
112DEF_PRIMITIVE_TYPE (BT_DFLOAT128, dfloat128_type_node)
113DEF_PRIMITIVE_TYPE (BT_DFLOAT32_PTR, dfloat32_ptr_type_node)
114DEF_PRIMITIVE_TYPE (BT_DFLOAT64_PTR, dfloat64_ptr_type_node)
115DEF_PRIMITIVE_TYPE (BT_DFLOAT128_PTR, dfloat128_ptr_type_node)
116
10841285
MM
117DEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node)
118DEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node)
119
48ae6c13
RH
120DEF_PRIMITIVE_TYPE (BT_I1, builtin_type_for_size (BITS_PER_UNIT*1, 1))
121DEF_PRIMITIVE_TYPE (BT_I2, builtin_type_for_size (BITS_PER_UNIT*2, 1))
122DEF_PRIMITIVE_TYPE (BT_I4, builtin_type_for_size (BITS_PER_UNIT*4, 1))
123DEF_PRIMITIVE_TYPE (BT_I8, builtin_type_for_size (BITS_PER_UNIT*8, 1))
a0274e3e 124DEF_PRIMITIVE_TYPE (BT_I16, builtin_type_for_size (BITS_PER_UNIT*16, 1))
48ae6c13 125
d5e254e1
IE
126DEF_PRIMITIVE_TYPE (BT_BND, pointer_bounds_type_node)
127
d1c38823 128DEF_POINTER_TYPE (BT_PTR_CONST_STRING, BT_CONST_STRING)
1304953e 129DEF_POINTER_TYPE (BT_PTR_UINT, BT_UINT)
953ff289 130DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG)
1304953e
JJ
131DEF_POINTER_TYPE (BT_PTR_ULONG, BT_ULONG)
132DEF_POINTER_TYPE (BT_PTR_LONGLONG, BT_LONGLONG)
a68ab351 133DEF_POINTER_TYPE (BT_PTR_ULONGLONG, BT_ULONGLONG)
953ff289 134DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR)
d1c38823 135
10841285 136DEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID)
953ff289 137DEF_FUNCTION_TYPE_0 (BT_FN_BOOL, BT_BOOL)
10841285 138DEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR)
3537a0cd 139DEF_FUNCTION_TYPE_0 (BT_FN_CONST_STRING, BT_CONST_STRING)
d1c38823 140DEF_FUNCTION_TYPE_0 (BT_FN_PID, BT_PID)
953ff289 141DEF_FUNCTION_TYPE_0 (BT_FN_INT, BT_INT)
2319a1d1 142DEF_FUNCTION_TYPE_0 (BT_FN_UINT, BT_UINT)
ab5e2615
RH
143DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT, BT_FLOAT)
144DEF_FUNCTION_TYPE_0 (BT_FN_DOUBLE, BT_DOUBLE)
3c260e1d
KG
145/* For "long double" we use LONGDOUBLE (not LONG_DOUBLE) to
146 distinguish it from two types in sequence, "long" followed by
147 "double". */
148DEF_FUNCTION_TYPE_0 (BT_FN_LONGDOUBLE, BT_LONGDOUBLE)
9a8ce21f
JG
149DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT32, BT_DFLOAT32)
150DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT64, BT_DFLOAT64)
151DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT128, BT_DFLOAT128)
10841285
MM
152
153DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONG, BT_LONG, BT_LONG)
154DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGLONG, BT_LONGLONG, BT_LONGLONG)
155DEF_FUNCTION_TYPE_1 (BT_FN_INTMAX_INTMAX, BT_INTMAX, BT_INTMAX)
156DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_FLOAT, BT_FLOAT, BT_FLOAT)
157DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_DOUBLE, BT_DOUBLE, BT_DOUBLE)
c22cacf3
MS
158DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_LONGDOUBLE,
159 BT_LONGDOUBLE, BT_LONGDOUBLE)
160DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
10841285 161 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
c22cacf3 162DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
10841285 163 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
c22cacf3
MS
164DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
165 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
166DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_COMPLEX_FLOAT,
167 BT_FLOAT, BT_COMPLEX_FLOAT)
10841285 168DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_COMPLEX_DOUBLE,
c22cacf3 169 BT_DOUBLE, BT_COMPLEX_DOUBLE)
3c260e1d 170DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE,
c22cacf3 171 BT_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
75c7c595
RG
172DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_FLOAT,
173 BT_COMPLEX_FLOAT, BT_FLOAT)
174DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_DOUBLE,
175 BT_COMPLEX_DOUBLE, BT_DOUBLE)
176DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE,
177 BT_COMPLEX_LONGDOUBLE, BT_LONGDOUBLE)
2319a1d1 178DEF_FUNCTION_TYPE_1 (BT_FN_PTR_UINT, BT_PTR, BT_UINT)
10841285
MM
179DEF_FUNCTION_TYPE_1 (BT_FN_PTR_SIZE, BT_PTR, BT_SIZE)
180DEF_FUNCTION_TYPE_1 (BT_FN_INT_INT, BT_INT, BT_INT)
2319a1d1 181DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINT, BT_INT, BT_UINT)
2928cd7a 182DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONG, BT_INT, BT_LONG)
2319a1d1 183DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONG, BT_INT, BT_ULONG)
2928cd7a 184DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGLONG, BT_INT, BT_LONGLONG)
2319a1d1
JB
185DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONGLONG, BT_INT, BT_ULONGLONG)
186DEF_FUNCTION_TYPE_1 (BT_FN_INT_INTMAX, BT_INT, BT_INTMAX)
187DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINTMAX, BT_INT, BT_UINTMAX)
10841285 188DEF_FUNCTION_TYPE_1 (BT_FN_INT_PTR, BT_INT, BT_PTR)
98ff7c4d
KG
189DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT, BT_INT, BT_FLOAT)
190DEF_FUNCTION_TYPE_1 (BT_FN_INT_DOUBLE, BT_INT, BT_DOUBLE)
191DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
9a8ce21f
JG
192DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT32, BT_INT, BT_DFLOAT32)
193DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT64, BT_INT, BT_DFLOAT64)
194DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT128, BT_INT, BT_DFLOAT128)
98ff7c4d
KG
195DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT, BT_LONG, BT_FLOAT)
196DEF_FUNCTION_TYPE_1 (BT_FN_LONG_DOUBLE, BT_LONG, BT_DOUBLE)
197DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONGDOUBLE, BT_LONG, BT_LONGDOUBLE)
198DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT, BT_LONGLONG, BT_FLOAT)
199DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_DOUBLE, BT_LONGLONG, BT_DOUBLE)
200DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGDOUBLE, BT_LONGLONG, BT_LONGDOUBLE)
10841285 201DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR)
f458d1d5 202DEF_FUNCTION_TYPE_1 (BT_FN_SIZE_CONST_STRING, BT_SIZE, BT_CONST_STRING)
10841285
MM
203DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_STRING, BT_INT, BT_CONST_STRING)
204DEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR)
205DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VALIST_REF, BT_VOID, BT_VALIST_REF)
206DEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT)
1472e41c
RH
207DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_CONST_STRING, BT_FLOAT, BT_CONST_STRING)
208DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_STRING, BT_DOUBLE, BT_CONST_STRING)
3c260e1d
KG
209DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_CONST_STRING,
210 BT_LONGDOUBLE, BT_CONST_STRING)
9a8ce21f
JG
211DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_CONST_STRING, BT_DFLOAT32, BT_CONST_STRING)
212DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_CONST_STRING, BT_DFLOAT64, BT_CONST_STRING)
213DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_CONST_STRING,
214 BT_DFLOAT128, BT_CONST_STRING)
1331d16f 215DEF_FUNCTION_TYPE_1 (BT_FN_STRING_CONST_STRING, BT_STRING, BT_CONST_STRING)
7b0518e3 216DEF_FUNCTION_TYPE_1 (BT_FN_UNWINDWORD_PTR, BT_UNWINDWORD, BT_PTR)
ca4944e1
KG
217DEF_FUNCTION_TYPE_1 (BT_FN_INT_WINT, BT_INT, BT_WINT)
218DEF_FUNCTION_TYPE_1 (BT_FN_WINT_WINT, BT_WINT, BT_WINT)
9a8ce21f
JG
219DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_DFLOAT32, BT_DFLOAT32, BT_DFLOAT32)
220DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_DFLOAT64, BT_DFLOAT64, BT_DFLOAT64)
221DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_DFLOAT128, BT_DFLOAT128, BT_DFLOAT128)
48ae6c13 222DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR)
953ff289 223DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR)
109719eb 224DEF_FUNCTION_TYPE_1 (BT_FN_VOID_CONST_PTR, BT_VOID, BT_CONST_PTR)
953ff289 225DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
167fa32c
EC
226DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG)
227DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
ac868f29 228DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT16, BT_UINT16, BT_UINT16)
167fa32c
EC
229DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT32, BT_UINT32, BT_UINT32)
230DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_UINT64, BT_UINT64, BT_UINT64)
acf0174b 231DEF_FUNCTION_TYPE_1 (BT_FN_BOOL_INT, BT_BOOL, BT_INT)
d5e254e1
IE
232DEF_FUNCTION_TYPE_1 (BT_FN_PTR_CONST_PTR, BT_PTR, BT_CONST_PTR)
233DEF_FUNCTION_TYPE_1 (BT_FN_CONST_PTR_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR)
234DEF_FUNCTION_TYPE_1 (BT_FN_BND_CONST_PTR, BT_BND, BT_CONST_PTR)
235DEF_FUNCTION_TYPE_1 (BT_FN_CONST_PTR_BND, BT_CONST_PTR, BT_BND)
953ff289
DN
236
237DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR)
10841285
MM
238
239DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_INT, BT_VOID, BT_PTR, BT_INT)
c22cacf3
MS
240DEF_FUNCTION_TYPE_2 (BT_FN_STRING_STRING_CONST_STRING,
241 BT_STRING, BT_STRING, BT_CONST_STRING)
10841285 242DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_CONST_STRING,
c22cacf3 243 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
10841285
MM
244DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_CONST_STRING,
245 BT_STRING, BT_CONST_STRING, BT_CONST_STRING)
246DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_CONST_STRING,
c22cacf3 247 BT_SIZE, BT_CONST_STRING, BT_CONST_STRING)
10841285 248DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_INT,
c22cacf3 249 BT_STRING, BT_CONST_STRING, BT_INT)
1ad81c8e 250DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_SIZE,
c22cacf3 251 BT_STRING, BT_CONST_STRING, BT_SIZE)
498c0f27
JJ
252DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_FILEPTR,
253 BT_INT, BT_CONST_STRING, BT_FILEPTR)
254DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_FILEPTR,
255 BT_INT, BT_INT, BT_FILEPTR)
10841285
MM
256DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRMODE_PTR,
257 BT_VOID, BT_PTRMODE, BT_PTR)
0e668eaf
JJ
258DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTRMODE,
259 BT_VOID, BT_PTR, BT_PTRMODE)
c22cacf3 260DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VALIST_REF_VALIST_ARG,
10841285
MM
261 BT_VOID, BT_VALIST_REF, BT_VALIST_ARG)
262DEF_FUNCTION_TYPE_2 (BT_FN_LONG_LONG_LONG,
263 BT_LONG, BT_LONG, BT_LONG)
264DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING,
265 BT_INT, BT_PTR, BT_CONST_STRING)
f458d1d5
ZW
266DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE,
267 BT_VOID, BT_PTR, BT_SIZE)
46847aa6
RS
268DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOAT,
269 BT_FLOAT, BT_FLOAT, BT_FLOAT)
270DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLE,
271 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
3c260e1d
KG
272DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
273 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
a2a919aa
KG
274DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOATPTR,
275 BT_FLOAT, BT_FLOAT, BT_FLOAT_PTR)
276DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
277 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE_PTR)
278DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
279 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR)
98ff7c4d
KG
280DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONGDOUBLE,
281 BT_FLOAT, BT_FLOAT, BT_LONGDOUBLE)
282DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
283 BT_DOUBLE, BT_DOUBLE, BT_LONGDOUBLE)
284DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INT,
285 BT_FLOAT, BT_FLOAT, BT_INT)
286DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INT,
287 BT_DOUBLE, BT_DOUBLE, BT_INT)
288DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INT,
289 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT)
a2a919aa
KG
290DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INTPTR,
291 BT_FLOAT, BT_FLOAT, BT_INT_PTR)
292DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INTPTR,
293 BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
294DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
295 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
488f17e1
KG
296DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_INT_FLOAT,
297 BT_FLOAT, BT_INT, BT_FLOAT)
298DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_INT_DOUBLE,
299 BT_DOUBLE, BT_INT, BT_DOUBLE)
300DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_INT_LONGDOUBLE,
301 BT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
98ff7c4d
KG
302DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONG,
303 BT_FLOAT, BT_FLOAT, BT_LONG)
304DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONG,
305 BT_DOUBLE, BT_DOUBLE, BT_LONG)
306DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
307 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONG)
08291658
RS
308DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG,
309 BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
1331d16f
RS
310DEF_FUNCTION_TYPE_2 (BT_FN_PTR_SIZE_SIZE,
311 BT_PTR, BT_SIZE, BT_SIZE)
4376b7cf
FXC
312DEF_FUNCTION_TYPE_2 (BT_FN_PTR_PTR_SIZE,
313 BT_PTR, BT_PTR, BT_SIZE)
c22cacf3 314DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT,
11bf0eb0 315 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
c22cacf3 316DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
11bf0eb0 317 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
c22cacf3
MS
318DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
319 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
6de9cd9a 320DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR)
d1c38823
ZD
321DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
322 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING)
10a0d495 323DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_PTR_INT, BT_SIZE, BT_CONST_PTR, BT_INT)
48ae6c13
RH
324DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1)
325DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2)
326DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4)
327DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8)
a0274e3e 328DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16)
953ff289
DN
329DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR,
330 BT_BOOL, BT_PTR_LONG, BT_PTR_LONG)
a68ab351
JJ
331DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
332 BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
86951993
AM
333DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR,
334 BT_INT)
335DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR,
336 BT_INT)
337DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR,
338 BT_INT)
339DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR,
340 BT_INT)
341DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR,
342 BT_INT)
343DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT)
344DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT)
345DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_SIZE_CONST_VPTR, BT_BOOL, BT_SIZE,
346 BT_CONST_VOLATILE_PTR)
acf0174b
JJ
347DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_INT_BOOL, BT_BOOL, BT_INT, BT_BOOL)
348DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT_UINT, BT_VOID, BT_UINT, BT_UINT)
d5e254e1
IE
349DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_SIZE, BT_PTR, BT_CONST_PTR, BT_SIZE)
350DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_CONST_PTR, BT_PTR, BT_CONST_PTR, BT_CONST_PTR)
351DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRPTR_CONST_PTR, BT_VOID, BT_PTR_PTR, BT_CONST_PTR)
352DEF_FUNCTION_TYPE_2 (BT_FN_VOID_CONST_PTR_SIZE, BT_VOID, BT_CONST_PTR, BT_SIZE)
353DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_BND, BT_VOID, BT_PTR, BT_BND)
354DEF_FUNCTION_TYPE_2 (BT_FN_CONST_PTR_CONST_PTR_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR)
355DEF_FUNCTION_TYPE_2 (BT_FN_BND_CONST_PTR_SIZE, BT_BND, BT_CONST_PTR, BT_SIZE)
a68ab351
JJ
356
357DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_PTR)
10841285
MM
358
359DEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE,
360 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE)
361DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_SIZE,
362 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE)
f458d1d5
ZW
363DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_PTR_SIZE,
364 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE)
dda6ecae
AH
365DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_CONST_PTR_SIZE,
366 BT_VOID, BT_PTR, BT_CONST_PTR, BT_SIZE)
10841285 367DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE,
c22cacf3 368 BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
f458d1d5 369DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE,
c22cacf3 370 BT_PTR, BT_PTR, BT_INT, BT_SIZE)
dda6ecae
AH
371DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_SIZE,
372 BT_VOID, BT_PTR, BT_INT, BT_SIZE)
08291658
RS
373DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT,
374 BT_VOID, BT_PTR, BT_INT, BT_INT)
e31603c4
JJ
375DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_PTR_SIZE,
376 BT_VOID, BT_CONST_PTR, BT_PTR, BT_SIZE)
08291658
RS
377DEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
378 BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG)
379DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
380 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG)
498c0f27
JJ
381DEF_FUNCTION_TYPE_3 (BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
382 BT_INT, BT_FILEPTR, BT_CONST_STRING, BT_VALIST_ARG)
36536d79
BI
383DEF_FUNCTION_TYPE_3 (BT_FN_INT_PTR_PTR_PTR,
384 BT_INT, BT_PTR, BT_PTR, BT_PTR)
178b2b9f
RS
385DEF_FUNCTION_TYPE_3 (BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
386 BT_STRING, BT_CONST_STRING, BT_CONST_STRING, BT_INT)
98ff7c4d
KG
387DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_FLOAT,
388 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT)
389DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
390 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
391DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
392 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
a2a919aa
KG
393DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_INTPTR,
394 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_INT_PTR)
395DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
396 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
397DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
398 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
399DEF_FUNCTION_TYPE_3 (BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
400 BT_VOID, BT_FLOAT, BT_FLOAT_PTR, BT_FLOAT_PTR)
401DEF_FUNCTION_TYPE_3 (BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
402 BT_VOID, BT_DOUBLE, BT_DOUBLE_PTR, BT_DOUBLE_PTR)
403DEF_FUNCTION_TYPE_3 (BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR,
404 BT_VOID, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR, BT_LONGDOUBLE_PTR)
6de9cd9a 405DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_PTR, BT_VOID, BT_PTR, BT_PTR, BT_PTR)
d1c38823
ZD
406DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING,
407 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING)
10a0d495
JJ
408DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
409 BT_INT, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
48ae6c13
RH
410DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR,
411 BT_I1, BT_I1)
412DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR,
413 BT_I2, BT_I2)
414DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR,
415 BT_I4, BT_I4)
416DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR,
417 BT_I8, BT_I8)
a0274e3e
JJ
418DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR,
419 BT_I16, BT_I16)
48ae6c13
RH
420DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1)
421DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2)
422DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4)
423DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8)
a0274e3e
JJ
424DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR,
425 BT_I16, BT_I16)
2a5fce6d
PC
426DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_INT_SIZE, BT_PTR,
427 BT_CONST_PTR, BT_INT, BT_SIZE)
86951993
AM
428DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_INT, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_INT)
429DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_INT, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_INT)
430DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_INT, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_INT)
431DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_INT, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_INT)
432DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_INT, BT_I16, BT_VOLATILE_PTR, BT_I16, BT_INT)
433DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I1_INT, BT_VOID, BT_VOLATILE_PTR, BT_I1, BT_INT)
434DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I2_INT, BT_VOID, BT_VOLATILE_PTR, BT_I2, BT_INT)
435DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I4_INT, BT_VOID, BT_VOLATILE_PTR, BT_I4, BT_INT)
436DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I8_INT, BT_VOID, BT_VOLATILE_PTR, BT_I8, BT_INT)
437DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I16_INT, BT_VOID, BT_VOLATILE_PTR, BT_I16, BT_INT)
32cab212 438DEF_FUNCTION_TYPE_3 (BT_FN_INT_PTRPTR_SIZE_SIZE, BT_INT, BT_PTR_PTR, BT_SIZE, BT_SIZE)
d5e254e1
IE
439DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_CONST_PTR_SIZE, BT_PTR, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
440DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_BND_CONST_PTR, BT_VOID, BT_CONST_PTR, BT_BND, BT_CONST_PTR)
1304953e
JJ
441DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_INT_INT_INTPTR, BT_BOOL, BT_INT, BT_INT,
442 BT_INT_PTR)
443DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_LONG_LONG_LONGPTR, BT_BOOL, BT_LONG, BT_LONG,
444 BT_PTR_LONG)
445DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_LONGLONG_LONGLONG_LONGLONGPTR, BT_BOOL,
446 BT_LONGLONG, BT_LONGLONG, BT_PTR_LONGLONG)
447DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_UINT_UINT_UINTPTR, BT_BOOL, BT_UINT, BT_UINT,
448 BT_PTR_UINT)
449DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_ULONG_ULONG_ULONGPTR, BT_BOOL, BT_ULONG,
450 BT_ULONG, BT_PTR_ULONG)
451DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_ULONGLONG_ULONGLONG_ULONGLONGPTR, BT_BOOL,
452 BT_ULONGLONG, BT_ULONGLONG, BT_PTR_ULONGLONG)
10841285 453
498c0f27
JJ
454DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
455 BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR)
08291658
RS
456DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
457 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
178b2b9f
RS
458DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
459 BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_PTR)
10a0d495
JJ
460DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE,
461 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE)
462DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_INT_SIZE_SIZE,
463 BT_PTR, BT_PTR, BT_INT, BT_SIZE, BT_SIZE)
464DEF_FUNCTION_TYPE_4 (BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
465 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE)
466DEF_FUNCTION_TYPE_4 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
467 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
953ff289
DN
468DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT,
469 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
8893239d
RH
470DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR,
471 BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
86951993
AM
472DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_VPTR_PTR_INT, BT_VOID, BT_SIZE,
473 BT_VOLATILE_PTR, BT_PTR, BT_INT)
474DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_VOID, BT_SIZE,
475 BT_CONST_VOLATILE_PTR, BT_PTR, BT_INT)
10a0d495
JJ
476
477DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
478 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING,
479 BT_VALIST_ARG)
953ff289
DN
480DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
481 BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
482 BT_PTR_LONG, BT_PTR_LONG)
86951993
AM
483DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE,
484 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT)
c954bddd
JJ
485DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
486 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_INT, BT_INT)
487DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I2_INT_INT,
488 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_INT, BT_INT)
489DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
490 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_INT, BT_INT)
491DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I8_INT_INT,
492 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_INT, BT_INT)
493DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I16_INT_INT,
494 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_INT, BT_INT)
acf0174b
JJ
495DEF_FUNCTION_TYPE_5 (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
496 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT,
497 BT_UINT)
10a0d495
JJ
498
499DEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
500 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
501 BT_CONST_STRING, BT_VALIST_ARG)
953ff289
DN
502DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
503 BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
504 BT_PTR_LONG, BT_PTR_LONG)
a68ab351
JJ
505DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
506 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
507 BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
86951993
AM
508DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT,
509 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT,
510 BT_INT)
511DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT,
512 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT,
513 BT_INT)
514DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT,
515 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT,
516 BT_INT)
517DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT,
518 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT,
519 BT_INT)
520DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT,
521 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT,
522 BT_INT)
523DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE,
524 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
acf0174b
JJ
525DEF_FUNCTION_TYPE_6 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
526 BT_VOID, BT_INT, BT_PTR, BT_SIZE, BT_PTR, BT_PTR, BT_PTR)
86951993 527
acf0174b 528DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
953ff289 529 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
acf0174b 530 BT_LONG, BT_LONG, BT_LONG, BT_UINT)
a68ab351
JJ
531DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
532 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
533 BT_ULONGLONG, BT_ULONGLONG,
534 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
acf0174b
JJ
535DEF_FUNCTION_TYPE_7 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
536 BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_PTR, BT_SIZE,
537 BT_PTR, BT_PTR, BT_PTR)
538
539DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
540 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
541 BT_LONG, BT_LONG, BT_LONG, BT_LONG, BT_UINT)
542DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR,
543 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
544 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
545 BT_BOOL, BT_UINT, BT_PTR)
10841285
MM
546
547DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
548DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
549DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR)
1304953e 550DEF_FUNCTION_TYPE_VAR_0 (BT_FN_BOOL_VAR, BT_BOOL)
10841285 551
c22cacf3 552DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR,
10841285 553 BT_VOID, BT_VALIST_REF)
3bca17dd
PK
554DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
555 BT_VOID, BT_CONST_PTR)
10841285 556DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
c22cacf3 557 BT_INT, BT_CONST_STRING)
dda6ecae
AH
558DEF_FUNCTION_TYPE_VAR_1 (BT_FN_UINT32_UINT32_VAR,
559 BT_UINT32, BT_UINT32)
10841285 560
498c0f27 561DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
c22cacf3 562 BT_INT, BT_FILEPTR, BT_CONST_STRING)
08291658
RS
563DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
564 BT_INT, BT_STRING, BT_CONST_STRING)
565DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
566 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
10a0d495
JJ
567DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR,
568 BT_INT, BT_INT, BT_CONST_STRING)
45d439ac
JJ
569DEF_FUNCTION_TYPE_VAR_2 (BT_FN_PTR_CONST_PTR_SIZE_VAR, BT_PTR,
570 BT_CONST_PTR, BT_SIZE)
08291658
RS
571
572DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
573 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
178b2b9f
RS
574DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
575 BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
10a0d495
JJ
576DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
577 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING)
578
579DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
580 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING)
581
582DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR,
583 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
584 BT_CONST_STRING)
10841285 585
3bf5906b
KG
586DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_INT_INT_INT_INT_INT_VAR,
587 BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT)
588
10841285
MM
589DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
590DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
591 BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)
0a35513e
AH
592
593
594DEF_FUNCTION_TYPE_1 (BT_FN_I1_VPTR, BT_I1, BT_VOLATILE_PTR)
595DEF_FUNCTION_TYPE_1 (BT_FN_I2_VPTR, BT_I2, BT_VOLATILE_PTR)
596DEF_FUNCTION_TYPE_1 (BT_FN_I4_VPTR, BT_I4, BT_VOLATILE_PTR)
597DEF_FUNCTION_TYPE_1 (BT_FN_I8_VPTR, BT_I8, BT_VOLATILE_PTR)
598DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_VPTR, BT_FLOAT, BT_VOLATILE_PTR)
dda6ecae 599DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_DOUBLE_PTR, BT_DOUBLE, BT_DOUBLE_PTR)
0a35513e
AH
600DEF_FUNCTION_TYPE_1 (BT_FN_LDOUBLE_VPTR, BT_LONGDOUBLE, BT_VOLATILE_PTR)
601
602DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I1, BT_VOID, BT_VOLATILE_PTR, BT_I1)
603DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I2, BT_VOID, BT_VOLATILE_PTR, BT_I2)
604DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I4, BT_VOID, BT_VOLATILE_PTR, BT_I4)
605DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I8, BT_VOID, BT_VOLATILE_PTR, BT_I8)
606DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_FLOAT, BT_VOID, BT_VOLATILE_PTR, BT_FLOAT)
607DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_DOUBLE, BT_VOID,
608 BT_VOLATILE_PTR, BT_DOUBLE)
609DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_LDOUBLE, BT_VOID,
610 BT_VOLATILE_PTR, BT_LONGDOUBLE)
611DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_SIZE, BT_VOID,
612 BT_VOLATILE_PTR, BT_SIZE)