]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/builtin-types.def
hashtable_policy.h (_Map_base<,, [...]): Add per DR 761.
[thirdparty/gcc.git] / gcc / builtin-types.def
CommitLineData
2a5fce6d 1/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
e701a32a 2 Free Software Foundation, Inc.
10841285 3
1322177d 4This file is part of GCC.
10841285 5
1322177d
LB
6GCC is free software; you can redistribute it and/or modify it under
7the terms of the GNU General Public License as published by the Free
9dcd6f09 8Software Foundation; either version 3, or (at your option) any later
1322177d 9version.
10841285 10
1322177d
LB
11GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12WARRANTY; without even the implied warranty of MERCHANTABILITY or
13FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14for more details.
10841285
MM
15
16You should have received a copy of the GNU General Public License
9dcd6f09
NC
17along with GCC; see the file COPYING3. If not see
18<http://www.gnu.org/licenses/>. */
10841285 19
a457ee07 20/* This header provides a declarative way of describing the types that
10841285
MM
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)
10a0d495 35 DEF_FUNCTION_TYPE_5 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5)
953ff289
DN
36 DEF_FUNCTION_TYPE_6 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6)
37 DEF_FUNCTION_TYPE_7 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7)
10841285
MM
38
39 These macros describe function types. ENUM is as above. The
40 RETURN type is one of the enumerals already defined. ARG1, ARG2,
8225879c 41 etc, give the types of the arguments, similarly.
10841285
MM
42
43 DEF_FUNCTION_TYPE_VAR_0 (ENUM, RETURN)
44 DEF_FUNCTION_TYPE_VAR_1 (ENUM, RETURN, ARG1)
45 DEF_FUNCTION_TYPE_VAR_2 (ENUM, RETURN, ARG1, ARG2)
08291658 46 DEF_FUNCTION_TYPE_VAR_3 (ENUM, RETURN, ARG1, ARG2, ARG3)
10a0d495 47 DEF_FUNCTION_TYPE_VAR_4 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4)
8225879c 48 DEF_FUNCTION_TYPE_VAR_5 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5)
10841285
MM
49
50 Similar, but for function types that take variable arguments.
51 For example:
52
53 DEF_FUNCTION_TYPE_1 (BT_INT_DOUBLE, BT_INT, BT_DOUBLE)
54
55 describes the type `int ()(double)', using the enumeral
56 BT_INT_DOUBLE, whereas:
57
58 DEF_FUNCTION_TYPE_VAR_1 (BT_INT_DOUBLE_VAR, BT_INT, BT_DOUBLE)
59
60 describes the type `int ()(double, ...)'.
c22cacf3 61
10841285
MM
62 DEF_POINTER_TYPE (ENUM, TYPE)
63
64 This macro describes a pointer type. ENUM is as above; TYPE is
65 the type pointed to. */
66
67DEF_PRIMITIVE_TYPE (BT_VOID, void_type_node)
48ae6c13 68DEF_PRIMITIVE_TYPE (BT_BOOL, boolean_type_node)
10841285 69DEF_PRIMITIVE_TYPE (BT_INT, integer_type_node)
2319a1d1 70DEF_PRIMITIVE_TYPE (BT_UINT, unsigned_type_node)
10841285 71DEF_PRIMITIVE_TYPE (BT_LONG, long_integer_type_node)
2319a1d1 72DEF_PRIMITIVE_TYPE (BT_ULONG, long_unsigned_type_node)
10841285 73DEF_PRIMITIVE_TYPE (BT_LONGLONG, long_long_integer_type_node)
2319a1d1
JB
74DEF_PRIMITIVE_TYPE (BT_ULONGLONG, long_long_unsigned_type_node)
75DEF_PRIMITIVE_TYPE (BT_INTMAX, intmax_type_node)
76DEF_PRIMITIVE_TYPE (BT_UINTMAX, uintmax_type_node)
167fa32c
EC
77DEF_PRIMITIVE_TYPE (BT_UINT32, uint32_type_node)
78DEF_PRIMITIVE_TYPE (BT_UINT64, uint64_type_node)
8893239d 79DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 1))
10841285 80DEF_PRIMITIVE_TYPE (BT_FLOAT, float_type_node)
10841285 81DEF_PRIMITIVE_TYPE (BT_DOUBLE, double_type_node)
3c260e1d 82DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE, long_double_type_node)
10841285
MM
83DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT, complex_float_type_node)
84DEF_PRIMITIVE_TYPE (BT_COMPLEX_DOUBLE, complex_double_type_node)
3c260e1d 85DEF_PRIMITIVE_TYPE (BT_COMPLEX_LONGDOUBLE, complex_long_double_type_node)
10841285
MM
86
87DEF_PRIMITIVE_TYPE (BT_PTR, ptr_type_node)
498c0f27 88DEF_PRIMITIVE_TYPE (BT_FILEPTR, fileptr_type_node)
10841285 89DEF_PRIMITIVE_TYPE (BT_CONST_PTR, const_ptr_type_node)
48ae6c13
RH
90DEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR,
91 build_pointer_type
92 (build_qualified_type (void_type_node,
93 TYPE_QUAL_VOLATILE)))
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)
98DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE_PTR, long_double_ptr_type_node)
d1c38823 99DEF_PRIMITIVE_TYPE (BT_PID, pid_type_node)
c9f8536c 100DEF_PRIMITIVE_TYPE (BT_SIZE, size_type_node)
178b2b9f 101DEF_PRIMITIVE_TYPE (BT_SSIZE, signed_size_type_node)
ca4944e1 102DEF_PRIMITIVE_TYPE (BT_WINT, wint_type_node)
10841285
MM
103DEF_PRIMITIVE_TYPE (BT_STRING, string_type_node)
104DEF_PRIMITIVE_TYPE (BT_CONST_STRING, const_string_type_node)
10841285 105
9a8ce21f
JG
106DEF_PRIMITIVE_TYPE (BT_DFLOAT32, dfloat32_type_node)
107DEF_PRIMITIVE_TYPE (BT_DFLOAT64, dfloat64_type_node)
108DEF_PRIMITIVE_TYPE (BT_DFLOAT128, dfloat128_type_node)
109DEF_PRIMITIVE_TYPE (BT_DFLOAT32_PTR, dfloat32_ptr_type_node)
110DEF_PRIMITIVE_TYPE (BT_DFLOAT64_PTR, dfloat64_ptr_type_node)
111DEF_PRIMITIVE_TYPE (BT_DFLOAT128_PTR, dfloat128_ptr_type_node)
112
10841285
MM
113DEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node)
114DEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node)
115
48ae6c13
RH
116DEF_PRIMITIVE_TYPE (BT_I1, builtin_type_for_size (BITS_PER_UNIT*1, 1))
117DEF_PRIMITIVE_TYPE (BT_I2, builtin_type_for_size (BITS_PER_UNIT*2, 1))
118DEF_PRIMITIVE_TYPE (BT_I4, builtin_type_for_size (BITS_PER_UNIT*4, 1))
119DEF_PRIMITIVE_TYPE (BT_I8, builtin_type_for_size (BITS_PER_UNIT*8, 1))
a0274e3e 120DEF_PRIMITIVE_TYPE (BT_I16, builtin_type_for_size (BITS_PER_UNIT*16, 1))
48ae6c13 121
d1c38823 122DEF_POINTER_TYPE (BT_PTR_CONST_STRING, BT_CONST_STRING)
953ff289
DN
123DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG)
124DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR)
d1c38823 125
10841285 126DEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID)
953ff289 127DEF_FUNCTION_TYPE_0 (BT_FN_BOOL, BT_BOOL)
10841285 128DEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR)
d1c38823 129DEF_FUNCTION_TYPE_0 (BT_FN_PID, BT_PID)
953ff289 130DEF_FUNCTION_TYPE_0 (BT_FN_INT, BT_INT)
2319a1d1 131DEF_FUNCTION_TYPE_0 (BT_FN_UINT, BT_UINT)
ab5e2615
RH
132DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT, BT_FLOAT)
133DEF_FUNCTION_TYPE_0 (BT_FN_DOUBLE, BT_DOUBLE)
3c260e1d
KG
134/* For "long double" we use LONGDOUBLE (not LONG_DOUBLE) to
135 distinguish it from two types in sequence, "long" followed by
136 "double". */
137DEF_FUNCTION_TYPE_0 (BT_FN_LONGDOUBLE, BT_LONGDOUBLE)
9a8ce21f
JG
138DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT32, BT_DFLOAT32)
139DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT64, BT_DFLOAT64)
140DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT128, BT_DFLOAT128)
10841285
MM
141
142DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONG, BT_LONG, BT_LONG)
143DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGLONG, BT_LONGLONG, BT_LONGLONG)
144DEF_FUNCTION_TYPE_1 (BT_FN_INTMAX_INTMAX, BT_INTMAX, BT_INTMAX)
145DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_FLOAT, BT_FLOAT, BT_FLOAT)
146DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_DOUBLE, BT_DOUBLE, BT_DOUBLE)
c22cacf3
MS
147DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_LONGDOUBLE,
148 BT_LONGDOUBLE, BT_LONGDOUBLE)
149DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
10841285 150 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
c22cacf3 151DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
10841285 152 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
c22cacf3
MS
153DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
154 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
155DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_COMPLEX_FLOAT,
156 BT_FLOAT, BT_COMPLEX_FLOAT)
10841285 157DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_COMPLEX_DOUBLE,
c22cacf3 158 BT_DOUBLE, BT_COMPLEX_DOUBLE)
3c260e1d 159DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE,
c22cacf3 160 BT_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
75c7c595
RG
161DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_FLOAT,
162 BT_COMPLEX_FLOAT, BT_FLOAT)
163DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_DOUBLE,
164 BT_COMPLEX_DOUBLE, BT_DOUBLE)
165DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE,
166 BT_COMPLEX_LONGDOUBLE, BT_LONGDOUBLE)
2319a1d1 167DEF_FUNCTION_TYPE_1 (BT_FN_PTR_UINT, BT_PTR, BT_UINT)
10841285
MM
168DEF_FUNCTION_TYPE_1 (BT_FN_PTR_SIZE, BT_PTR, BT_SIZE)
169DEF_FUNCTION_TYPE_1 (BT_FN_INT_INT, BT_INT, BT_INT)
2319a1d1 170DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINT, BT_INT, BT_UINT)
2928cd7a 171DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONG, BT_INT, BT_LONG)
2319a1d1 172DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONG, BT_INT, BT_ULONG)
2928cd7a 173DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGLONG, BT_INT, BT_LONGLONG)
2319a1d1
JB
174DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONGLONG, BT_INT, BT_ULONGLONG)
175DEF_FUNCTION_TYPE_1 (BT_FN_INT_INTMAX, BT_INT, BT_INTMAX)
176DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINTMAX, BT_INT, BT_UINTMAX)
10841285 177DEF_FUNCTION_TYPE_1 (BT_FN_INT_PTR, BT_INT, BT_PTR)
98ff7c4d
KG
178DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT, BT_INT, BT_FLOAT)
179DEF_FUNCTION_TYPE_1 (BT_FN_INT_DOUBLE, BT_INT, BT_DOUBLE)
180DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
9a8ce21f
JG
181DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT32, BT_INT, BT_DFLOAT32)
182DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT64, BT_INT, BT_DFLOAT64)
183DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT128, BT_INT, BT_DFLOAT128)
98ff7c4d
KG
184DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT, BT_LONG, BT_FLOAT)
185DEF_FUNCTION_TYPE_1 (BT_FN_LONG_DOUBLE, BT_LONG, BT_DOUBLE)
186DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONGDOUBLE, BT_LONG, BT_LONGDOUBLE)
187DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT, BT_LONGLONG, BT_FLOAT)
188DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_DOUBLE, BT_LONGLONG, BT_DOUBLE)
189DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGDOUBLE, BT_LONGLONG, BT_LONGDOUBLE)
10841285 190DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR)
f458d1d5 191DEF_FUNCTION_TYPE_1 (BT_FN_SIZE_CONST_STRING, BT_SIZE, BT_CONST_STRING)
10841285
MM
192DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_STRING, BT_INT, BT_CONST_STRING)
193DEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR)
194DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VALIST_REF, BT_VOID, BT_VALIST_REF)
195DEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT)
1472e41c
RH
196DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_CONST_STRING, BT_FLOAT, BT_CONST_STRING)
197DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_STRING, BT_DOUBLE, BT_CONST_STRING)
3c260e1d
KG
198DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_CONST_STRING,
199 BT_LONGDOUBLE, BT_CONST_STRING)
9a8ce21f
JG
200DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_CONST_STRING, BT_DFLOAT32, BT_CONST_STRING)
201DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_CONST_STRING, BT_DFLOAT64, BT_CONST_STRING)
202DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_CONST_STRING,
203 BT_DFLOAT128, BT_CONST_STRING)
1331d16f 204DEF_FUNCTION_TYPE_1 (BT_FN_STRING_CONST_STRING, BT_STRING, BT_CONST_STRING)
c76362b4 205DEF_FUNCTION_TYPE_1 (BT_FN_WORD_PTR, BT_WORD, BT_PTR)
ca4944e1
KG
206DEF_FUNCTION_TYPE_1 (BT_FN_INT_WINT, BT_INT, BT_WINT)
207DEF_FUNCTION_TYPE_1 (BT_FN_WINT_WINT, BT_WINT, BT_WINT)
9a8ce21f
JG
208DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_DFLOAT32, BT_DFLOAT32, BT_DFLOAT32)
209DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_DFLOAT64, BT_DFLOAT64, BT_DFLOAT64)
210DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_DFLOAT128, BT_DFLOAT128, BT_DFLOAT128)
48ae6c13 211DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR)
953ff289
DN
212DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR)
213DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
167fa32c
EC
214DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG)
215DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
216DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT32, BT_UINT32, BT_UINT32)
217DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_UINT64, BT_UINT64, BT_UINT64)
953ff289
DN
218
219DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR)
10841285
MM
220
221DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_INT, BT_VOID, BT_PTR, BT_INT)
c22cacf3
MS
222DEF_FUNCTION_TYPE_2 (BT_FN_STRING_STRING_CONST_STRING,
223 BT_STRING, BT_STRING, BT_CONST_STRING)
10841285 224DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_CONST_STRING,
c22cacf3 225 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
10841285
MM
226DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_CONST_STRING,
227 BT_STRING, BT_CONST_STRING, BT_CONST_STRING)
228DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_CONST_STRING,
c22cacf3 229 BT_SIZE, BT_CONST_STRING, BT_CONST_STRING)
10841285 230DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_INT,
c22cacf3 231 BT_STRING, BT_CONST_STRING, BT_INT)
1ad81c8e 232DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_SIZE,
c22cacf3 233 BT_STRING, BT_CONST_STRING, BT_SIZE)
498c0f27
JJ
234DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_FILEPTR,
235 BT_INT, BT_CONST_STRING, BT_FILEPTR)
236DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_FILEPTR,
237 BT_INT, BT_INT, BT_FILEPTR)
10841285
MM
238DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRMODE_PTR,
239 BT_VOID, BT_PTRMODE, BT_PTR)
c22cacf3 240DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VALIST_REF_VALIST_ARG,
10841285
MM
241 BT_VOID, BT_VALIST_REF, BT_VALIST_ARG)
242DEF_FUNCTION_TYPE_2 (BT_FN_LONG_LONG_LONG,
243 BT_LONG, BT_LONG, BT_LONG)
244DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING,
245 BT_INT, BT_PTR, BT_CONST_STRING)
f458d1d5
ZW
246DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE,
247 BT_VOID, BT_PTR, BT_SIZE)
46847aa6
RS
248DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOAT,
249 BT_FLOAT, BT_FLOAT, BT_FLOAT)
250DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLE,
251 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
3c260e1d
KG
252DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
253 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
a2a919aa
KG
254DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOATPTR,
255 BT_FLOAT, BT_FLOAT, BT_FLOAT_PTR)
256DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
257 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE_PTR)
258DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
259 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR)
98ff7c4d
KG
260DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONGDOUBLE,
261 BT_FLOAT, BT_FLOAT, BT_LONGDOUBLE)
262DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
263 BT_DOUBLE, BT_DOUBLE, BT_LONGDOUBLE)
264DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INT,
265 BT_FLOAT, BT_FLOAT, BT_INT)
266DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INT,
267 BT_DOUBLE, BT_DOUBLE, BT_INT)
268DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INT,
269 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT)
a2a919aa
KG
270DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INTPTR,
271 BT_FLOAT, BT_FLOAT, BT_INT_PTR)
272DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INTPTR,
273 BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
274DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
275 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
488f17e1
KG
276DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_INT_FLOAT,
277 BT_FLOAT, BT_INT, BT_FLOAT)
278DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_INT_DOUBLE,
279 BT_DOUBLE, BT_INT, BT_DOUBLE)
280DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_INT_LONGDOUBLE,
281 BT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE)
98ff7c4d
KG
282DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONG,
283 BT_FLOAT, BT_FLOAT, BT_LONG)
284DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONG,
285 BT_DOUBLE, BT_DOUBLE, BT_LONG)
286DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
287 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONG)
08291658
RS
288DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG,
289 BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
1331d16f
RS
290DEF_FUNCTION_TYPE_2 (BT_FN_PTR_SIZE_SIZE,
291 BT_PTR, BT_SIZE, BT_SIZE)
4376b7cf
FXC
292DEF_FUNCTION_TYPE_2 (BT_FN_PTR_PTR_SIZE,
293 BT_PTR, BT_PTR, BT_SIZE)
c22cacf3 294DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT,
11bf0eb0 295 BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT)
c22cacf3 296DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
11bf0eb0 297 BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE)
c22cacf3
MS
298DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
299 BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE)
6de9cd9a 300DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR)
d1c38823
ZD
301DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
302 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING)
10a0d495 303DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_PTR_INT, BT_SIZE, BT_CONST_PTR, BT_INT)
48ae6c13
RH
304DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1)
305DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2)
306DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4)
307DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8)
a0274e3e 308DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16)
953ff289
DN
309DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR,
310 BT_BOOL, BT_PTR_LONG, BT_PTR_LONG)
10841285
MM
311
312DEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE,
313 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE)
314DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_SIZE,
315 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE)
f458d1d5
ZW
316DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_PTR_SIZE,
317 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE)
10841285 318DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE,
c22cacf3 319 BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE)
f458d1d5 320DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE,
c22cacf3 321 BT_PTR, BT_PTR, BT_INT, BT_SIZE)
08291658
RS
322DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT,
323 BT_VOID, BT_PTR, BT_INT, BT_INT)
e31603c4
JJ
324DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_PTR_SIZE,
325 BT_VOID, BT_CONST_PTR, BT_PTR, BT_SIZE)
08291658
RS
326DEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
327 BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG)
328DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
329 BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG)
498c0f27
JJ
330DEF_FUNCTION_TYPE_3 (BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
331 BT_INT, BT_FILEPTR, BT_CONST_STRING, BT_VALIST_ARG)
178b2b9f
RS
332DEF_FUNCTION_TYPE_3 (BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
333 BT_STRING, BT_CONST_STRING, BT_CONST_STRING, BT_INT)
98ff7c4d
KG
334DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_FLOAT,
335 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT)
336DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
337 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE)
338DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE,
339 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE)
a2a919aa
KG
340DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_INTPTR,
341 BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_INT_PTR)
342DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
343 BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_INT_PTR)
344DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
345 BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR)
346DEF_FUNCTION_TYPE_3 (BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
347 BT_VOID, BT_FLOAT, BT_FLOAT_PTR, BT_FLOAT_PTR)
348DEF_FUNCTION_TYPE_3 (BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
349 BT_VOID, BT_DOUBLE, BT_DOUBLE_PTR, BT_DOUBLE_PTR)
350DEF_FUNCTION_TYPE_3 (BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR,
351 BT_VOID, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR, BT_LONGDOUBLE_PTR)
6de9cd9a 352DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_PTR, BT_VOID, BT_PTR, BT_PTR, BT_PTR)
d1c38823
ZD
353DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING,
354 BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING)
10a0d495
JJ
355DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
356 BT_INT, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
48ae6c13
RH
357DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR,
358 BT_I1, BT_I1)
359DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR,
360 BT_I2, BT_I2)
361DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR,
362 BT_I4, BT_I4)
363DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR,
364 BT_I8, BT_I8)
a0274e3e
JJ
365DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR,
366 BT_I16, BT_I16)
48ae6c13
RH
367DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1)
368DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2)
369DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4)
370DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8)
a0274e3e
JJ
371DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR,
372 BT_I16, BT_I16)
953ff289
DN
373DEF_FUNCTION_TYPE_3 (BT_FN_VOID_OMPFN_PTR_UINT, BT_VOID, BT_PTR_FN_VOID_PTR,
374 BT_PTR, BT_UINT)
2a5fce6d
PC
375DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_INT_SIZE, BT_PTR,
376 BT_CONST_PTR, BT_INT, BT_SIZE)
10841285 377
498c0f27
JJ
378DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
379 BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR)
08291658
RS
380DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
381 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG)
178b2b9f
RS
382DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
383 BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_PTR)
10a0d495
JJ
384DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE,
385 BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE)
386DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_INT_SIZE_SIZE,
387 BT_PTR, BT_PTR, BT_INT, BT_SIZE, BT_SIZE)
388DEF_FUNCTION_TYPE_4 (BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
389 BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE)
390DEF_FUNCTION_TYPE_4 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
391 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG)
953ff289
DN
392DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT,
393 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
8893239d
RH
394DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR,
395 BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
10a0d495
JJ
396
397DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
398 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING,
399 BT_VALIST_ARG)
953ff289
DN
400DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
401 BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
402 BT_PTR_LONG, BT_PTR_LONG)
10a0d495
JJ
403
404DEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
405 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
406 BT_CONST_STRING, BT_VALIST_ARG)
953ff289
DN
407DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
408 BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
409 BT_PTR_LONG, BT_PTR_LONG)
410DEF_FUNCTION_TYPE_6 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
411 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
412 BT_LONG, BT_LONG, BT_LONG)
413
414DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG,
415 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
416 BT_LONG, BT_LONG, BT_LONG, BT_LONG)
10841285
MM
417
418DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
419DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT)
420DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR)
421
c22cacf3 422DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR,
10841285 423 BT_VOID, BT_VALIST_REF)
3bca17dd
PK
424DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR,
425 BT_VOID, BT_CONST_PTR)
10841285 426DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR,
c22cacf3 427 BT_INT, BT_CONST_STRING)
10841285 428
498c0f27 429DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
c22cacf3 430 BT_INT, BT_FILEPTR, BT_CONST_STRING)
08291658
RS
431DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR,
432 BT_INT, BT_STRING, BT_CONST_STRING)
433DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
434 BT_INT, BT_CONST_STRING, BT_CONST_STRING)
10a0d495
JJ
435DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR,
436 BT_INT, BT_INT, BT_CONST_STRING)
08291658
RS
437
438DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
439 BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING)
178b2b9f
RS
440DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR,
441 BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING)
10a0d495
JJ
442DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
443 BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING)
444
445DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
446 BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING)
447
448DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR,
449 BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE,
450 BT_CONST_STRING)
10841285
MM
451
452DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR)
453DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE,
454 BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE)