]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/builtin-types.def
Merge tree-ssa-20020619-branch into mainline.
[thirdparty/gcc.git] / gcc / builtin-types.def
CommitLineData
3f7df443 1/* Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
d2d4bdde 2
f12b58b3 3This file is part of GCC.
d2d4bdde 4
f12b58b3 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
7Software Foundation; either version 2, or (at your option) any later
8version.
d2d4bdde 9
f12b58b3 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.
d2d4bdde 14
15You should have received a copy of the GNU General Public License
f12b58b3 16along with GCC; see the file COPYING. If not, write to the Free
17Software Foundation, 59 Temple Place - Suite 330, Boston, MA
1802111-1307, USA. */
d2d4bdde 19
3f7df443 20/* This header provides a declarative way of describing the types that
d2d4bdde 21 are used when declaring builtin functions.
22
23 Before including this header, you must define the following macros:
24
25 DEF_PRIMITIVE_TYPE (ENUM, TYPE)
26
27 The ENUM is an identifier indicating which type is being defined.
28 TYPE is an expression for a `tree' that represents the type.
29
30 DEF_FUNCTION_TYPE_0 (ENUM, RETURN)
31 DEF_FUNCTION_TYPE_1 (ENUM, RETURN, ARG1)
32 DEF_FUNCTION_TYPE_2 (ENUM, RETURN, ARG1, ARG2)
33 DEF_FUNCTION_TYPE_3 (ENUM, RETURN, ARG1, ARG2, ARG3)
34 DEF_FUNCTION_TYPE_4 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4)
35
36 These macros describe function types. ENUM is as above. The
37 RETURN type is one of the enumerals already defined. ARG1, ARG2,
38 and ARG3 give the types of the arguments, similarly.
39
40 DEF_FUNCTION_TYPE_VAR_0 (ENUM, RETURN)
41 DEF_FUNCTION_TYPE_VAR_1 (ENUM, RETURN, ARG1)
42 DEF_FUNCTION_TYPE_VAR_2 (ENUM, RETURN, ARG1, ARG2)
03901330 43 DEF_FUNCTION_TYPE_VAR_3 (ENUM, RETURN, ARG1, ARG2, ARG3)
d2d4bdde 44
45 Similar, but for function types that take variable arguments.
46 For example:
47
48 DEF_FUNCTION_TYPE_1 (BT_INT_DOUBLE, BT_INT, BT_DOUBLE)
49
50 describes the type `int ()(double)', using the enumeral
51 BT_INT_DOUBLE, whereas:
52
53 DEF_FUNCTION_TYPE_VAR_1 (BT_INT_DOUBLE_VAR, BT_INT, BT_DOUBLE)
54
55 describes the type `int ()(double, ...)'.
56
57 DEF_POINTER_TYPE (ENUM, TYPE)
58
59 This macro describes a pointer type. ENUM is as above; TYPE is
60 the type pointed to. */
61
62DEF_PRIMITIVE_TYPE (BT_VOID, void_type_node)
63DEF_PRIMITIVE_TYPE (BT_INT, integer_type_node)
64DEF_PRIMITIVE_TYPE (BT_UNSIGNED, unsigned_type_node)
65DEF_PRIMITIVE_TYPE (BT_LONG, long_integer_type_node)
66DEF_PRIMITIVE_TYPE (BT_LONGLONG, long_long_integer_type_node)
26093bf4 67DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 0))
d2d4bdde 68DEF_PRIMITIVE_TYPE (BT_FLOAT, float_type_node)
69DEF_PRIMITIVE_TYPE (BT_INTMAX, intmax_type_node)
70DEF_PRIMITIVE_TYPE (BT_DOUBLE, double_type_node)
00eb5190 71DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE, long_double_type_node)
d2d4bdde 72DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT, complex_float_type_node)
73DEF_PRIMITIVE_TYPE (BT_COMPLEX_DOUBLE, complex_double_type_node)
00eb5190 74DEF_PRIMITIVE_TYPE (BT_COMPLEX_LONGDOUBLE, complex_long_double_type_node)
d2d4bdde 75
76DEF_PRIMITIVE_TYPE (BT_PTR, ptr_type_node)
77DEF_PRIMITIVE_TYPE (BT_CONST_PTR, const_ptr_type_node)
771d21fa 78DEF_PRIMITIVE_TYPE (BT_PTRMODE, (*lang_hooks.types.type_for_mode)(ptr_mode, 0))
4070bd43 79DEF_PRIMITIVE_TYPE (BT_INT_PTR, integer_ptr_type_node)
80DEF_PRIMITIVE_TYPE (BT_FLOAT_PTR, float_ptr_type_node)
81DEF_PRIMITIVE_TYPE (BT_DOUBLE_PTR, double_ptr_type_node)
82DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE_PTR, long_double_ptr_type_node)
73673831 83DEF_PRIMITIVE_TYPE (BT_PID, pid_type_node)
654ef926 84DEF_PRIMITIVE_TYPE (BT_SIZE, size_type_node)
b9b15671 85DEF_PRIMITIVE_TYPE (BT_SSIZE, signed_size_type_node)
4617d9b5 86DEF_PRIMITIVE_TYPE (BT_WINT, wint_type_node)
d2d4bdde 87DEF_PRIMITIVE_TYPE (BT_STRING, string_type_node)
88DEF_PRIMITIVE_TYPE (BT_CONST_STRING, const_string_type_node)
d2d4bdde 89
90DEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node)
91DEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node)
92
73673831 93DEF_POINTER_TYPE (BT_PTR_CONST_STRING, BT_CONST_STRING)
94
d2d4bdde 95DEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID)
96DEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR)
73673831 97DEF_FUNCTION_TYPE_0 (BT_FN_PID, BT_PID)
d2d4bdde 98DEF_FUNCTION_TYPE_0 (BT_FN_UNSIGNED, BT_UNSIGNED)
92c43e3c 99DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT, BT_FLOAT)
100DEF_FUNCTION_TYPE_0 (BT_FN_DOUBLE, BT_DOUBLE)
00eb5190 101/* For "long double" we use LONGDOUBLE (not LONG_DOUBLE) to
102 distinguish it from two types in sequence, "long" followed by
103 "double". */
104DEF_FUNCTION_TYPE_0 (BT_FN_LONGDOUBLE, BT_LONGDOUBLE)
d2d4bdde 105
106DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONG, BT_LONG, BT_LONG)
107DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGLONG, BT_LONGLONG, BT_LONGLONG)
108DEF_FUNCTION_TYPE_1 (BT_FN_INTMAX_INTMAX, BT_INTMAX, BT_INTMAX)
109DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_FLOAT, BT_FLOAT, BT_FLOAT)
110DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_DOUBLE, BT_DOUBLE, BT_DOUBLE)
00eb5190 111DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_LONGDOUBLE,
112 BT_LONGDOUBLE, BT_LONGDOUBLE)
d2d4bdde 113DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
114 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
115DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
116 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
00eb5190 117DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
118 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
d2d4bdde 119DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_COMPLEX_FLOAT,
120 BT_FLOAT, BT_COMPLEX_FLOAT)
121DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_COMPLEX_DOUBLE,
122 BT_DOUBLE, BT_COMPLEX_DOUBLE)
00eb5190 123DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE,
124 BT_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
d2d4bdde 125DEF_FUNCTION_TYPE_1 (BT_FN_PTR_UNSIGNED, BT_PTR, BT_UNSIGNED)
126DEF_FUNCTION_TYPE_1 (BT_FN_PTR_SIZE, BT_PTR, BT_SIZE)
127DEF_FUNCTION_TYPE_1 (BT_FN_INT_INT, BT_INT, BT_INT)
6a08d0ab 128DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONG, BT_INT, BT_LONG)
129DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGLONG, BT_INT, BT_LONGLONG)
d2d4bdde 130DEF_FUNCTION_TYPE_1 (BT_FN_INT_PTR, BT_INT, BT_PTR)
e88e2794 131DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT, BT_INT, BT_FLOAT)
132DEF_FUNCTION_TYPE_1 (BT_FN_INT_DOUBLE, BT_INT, BT_DOUBLE)
133DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
134DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT, BT_LONG, BT_FLOAT)
135DEF_FUNCTION_TYPE_1 (BT_FN_LONG_DOUBLE, BT_LONG, BT_DOUBLE)
136DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONGDOUBLE, BT_LONG, BT_LONGDOUBLE)
137DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT, BT_LONGLONG, BT_FLOAT)
138DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_DOUBLE, BT_LONGLONG, BT_DOUBLE)
139DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGDOUBLE, BT_LONGLONG, BT_LONGDOUBLE)
d2d4bdde 140DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR)
455730ef 141DEF_FUNCTION_TYPE_1 (BT_FN_SIZE_CONST_STRING, BT_SIZE, BT_CONST_STRING)
d2d4bdde 142DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_STRING, BT_INT, BT_CONST_STRING)
143DEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR)
144DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VALIST_REF, BT_VOID, BT_VALIST_REF)
145DEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT)
b0db7939 146DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_CONST_STRING, BT_FLOAT, BT_CONST_STRING)
147DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_STRING, BT_DOUBLE, BT_CONST_STRING)
00eb5190 148DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_CONST_STRING,
149 BT_LONGDOUBLE, BT_CONST_STRING)
32ef1cd2 150DEF_FUNCTION_TYPE_1 (BT_FN_STRING_CONST_STRING, BT_STRING, BT_CONST_STRING)
26093bf4 151DEF_FUNCTION_TYPE_1 (BT_FN_WORD_PTR, BT_WORD, BT_PTR)
4617d9b5 152DEF_FUNCTION_TYPE_1 (BT_FN_INT_WINT, BT_INT, BT_WINT)
153DEF_FUNCTION_TYPE_1 (BT_FN_WINT_WINT, BT_WINT, BT_WINT)
d2d4bdde 154
155DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_INT, BT_VOID, BT_PTR, BT_INT)
156DEF_FUNCTION_TYPE_2 (BT_FN_STRING_STRING_CONST_STRING,
157 BT_STRING, BT_STRING, BT_CONST_STRING)
158DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_CONST_STRING,
159 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
160DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_CONST_STRING,
161 BT_STRING, BT_CONST_STRING, BT_CONST_STRING)
162DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_CONST_STRING,
163 BT_SIZE, BT_CONST_STRING, BT_CONST_STRING)
164DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_INT,
165 BT_STRING, BT_CONST_STRING, BT_INT)
166DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR,
167 BT_INT, BT_CONST_STRING, BT_PTR)
168DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_PTR,
169 BT_INT, BT_INT, BT_PTR)
170DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRMODE_PTR,
171 BT_VOID, BT_PTRMODE, BT_PTR)
172DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VALIST_REF_VALIST_ARG,
173 BT_VOID, BT_VALIST_REF, BT_VALIST_ARG)
174DEF_FUNCTION_TYPE_2 (BT_FN_LONG_LONG_LONG,
175 BT_LONG, BT_LONG, BT_LONG)
176DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING,
177 BT_INT, BT_PTR, BT_CONST_STRING)
455730ef 178DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE,
179 BT_VOID, BT_PTR, BT_SIZE)
fa426235 180DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOAT,
181 BT_FLOAT, BT_FLOAT, BT_FLOAT)
182DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLE,
183 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
00eb5190 184DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
185 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
4070bd43 186DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOATPTR,
187 BT_FLOAT, BT_FLOAT, BT_FLOAT_PTR)
188DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
189 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE_PTR)
190DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
191 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR)
e88e2794 192DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONGDOUBLE,
193 BT_FLOAT, BT_FLOAT, BT_LONGDOUBLE)
194DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
195 BT_DOUBLE, BT_DOUBLE, BT_LONGDOUBLE)
196DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INT,
197 BT_FLOAT, BT_FLOAT, BT_INT)
198DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INT,
199 BT_DOUBLE, BT_DOUBLE, BT_INT)
200DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INT,
201 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT)
4070bd43 202DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INTPTR,
203 BT_FLOAT, BT_FLOAT, BT_INT_PTR)
204DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INTPTR,
205 BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
206DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
207 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
847749e5 208DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_INT_FLOAT,
209 BT_FLOAT, BT_INT, BT_FLOAT)
210DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_INT_DOUBLE,
211 BT_DOUBLE, BT_INT, BT_DOUBLE)
212DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_INT_LONGDOUBLE,
213 BT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
e88e2794 214DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONG,
215 BT_FLOAT, BT_FLOAT, BT_LONG)
216DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONG,
217 BT_DOUBLE, BT_DOUBLE, BT_LONG)
218DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
219 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONG)
03901330 220DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG,
221 BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
32ef1cd2 222DEF_FUNCTION_TYPE_2 (BT_FN_PTR_SIZE_SIZE,
223 BT_PTR, BT_SIZE, BT_SIZE)
61b922e7 224DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT,
225 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
226DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
227 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
228DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
229 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
4ee9c684 230DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR)
73673831 231DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
232 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING)
d2d4bdde 233
234DEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE,
235 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE)
236DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_SIZE,
237 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE)
455730ef 238DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_PTR_SIZE,
239 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE)
d2d4bdde 240DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE,
241 BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
455730ef 242DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE,
243 BT_PTR, BT_PTR, BT_INT, BT_SIZE)
03901330 244DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT,
245 BT_VOID, BT_PTR, BT_INT, BT_INT)
c4950093 246DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_PTR_SIZE,
247 BT_VOID, BT_CONST_PTR, BT_PTR, BT_SIZE)
03901330 248DEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
249 BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG)
250DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
251 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG)
b9b15671 252DEF_FUNCTION_TYPE_3 (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
253 BT_INT, BT_PTR, BT_CONST_STRING, BT_VALIST_ARG)
254DEF_FUNCTION_TYPE_3 (BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
255 BT_STRING, BT_CONST_STRING, BT_CONST_STRING, BT_INT)
e88e2794 256DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_FLOAT,
257 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT)
258DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
259 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
260DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
261 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
4070bd43 262DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_INTPTR,
263 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_INT_PTR)
264DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
265 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
266DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
267 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
268DEF_FUNCTION_TYPE_3 (BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
269 BT_VOID, BT_FLOAT, BT_FLOAT_PTR, BT_FLOAT_PTR)
270DEF_FUNCTION_TYPE_3 (BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
271 BT_VOID, BT_DOUBLE, BT_DOUBLE_PTR, BT_DOUBLE_PTR)
272DEF_FUNCTION_TYPE_3 (BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR,
273 BT_VOID, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR, BT_LONGDOUBLE_PTR)
4ee9c684 274DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_PTR, BT_VOID, BT_PTR, BT_PTR, BT_PTR)
73673831 275DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING,
276 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING)
d2d4bdde 277
278DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR,
279 BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_PTR)
03901330 280DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
281 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
b9b15671 282DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
283 BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_PTR)
d2d4bdde 284
285DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
286DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
287DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR)
288
289DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR,
290 BT_VOID, BT_VALIST_REF)
82086392 291DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
292 BT_VOID, BT_CONST_PTR)
d2d4bdde 293DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
294 BT_INT, BT_CONST_STRING)
295
296DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_PTR_CONST_STRING_VAR,
297 BT_INT, BT_PTR, BT_CONST_STRING)
03901330 298DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
299 BT_INT, BT_STRING, BT_CONST_STRING)
300DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
301 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
302
303DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
304 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
b9b15671 305DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
306 BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
d2d4bdde 307
308DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
309DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
310 BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)