1 /* Copyright (C) 2001-2020 Free Software Foundation, Inc.
3 This file is part of GCC.
5 GCC is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free
7 Software Foundation; either version 3, or (at your option) any later
10 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11 WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 You should have received a copy of the GNU General Public License
16 along with GCC; see the file COPYING3. If not see
17 <http://www.gnu.org/licenses/>. */
19 /* This header contains a subset of ../builtin-types.def needed for
20 Fortran frontend builtins.
22 Before including this header, you must define the following macros:
24 DEF_PRIMITIVE_TYPE (ENUM, TYPE)
26 The ENUM is an identifier indicating which type is being defined.
27 TYPE is an expression for a `tree' that represents the type.
29 DEF_FUNCTION_TYPE_0 (ENUM, RETURN)
30 DEF_FUNCTION_TYPE_1 (ENUM, RETURN, ARG1)
31 DEF_FUNCTION_TYPE_2 (ENUM, RETURN, ARG1, ARG2)
34 These macros describe function types. ENUM is as above. The
35 RETURN type is one of the enumerals already defined. ARG1, ARG2,
36 and ARG3 give the types of the arguments, similarly.
38 DEF_FUNCTION_TYPE_VAR_0 (ENUM, RETURN)
40 Similar, but for function types that take variable arguments.
42 DEF_POINTER_TYPE (ENUM, TYPE)
44 This macro describes a pointer type. ENUM is as above; TYPE is
45 the type pointed to. */
47 DEF_PRIMITIVE_TYPE (BT_VOID, void_type_node)
48 DEF_PRIMITIVE_TYPE (BT_BOOL,
49 (*lang_hooks.types.type_for_size) (BOOL_TYPE_SIZE, 1))
50 DEF_PRIMITIVE_TYPE (BT_INT, integer_type_node)
51 DEF_PRIMITIVE_TYPE (BT_UINT, unsigned_type_node)
52 DEF_PRIMITIVE_TYPE (BT_LONG, long_integer_type_node)
53 DEF_PRIMITIVE_TYPE (BT_ULONGLONG, long_long_unsigned_type_node)
54 DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 1))
55 DEF_PRIMITIVE_TYPE (BT_SIZE, size_type_node)
57 DEF_PRIMITIVE_TYPE (BT_I1, builtin_type_for_size (BITS_PER_UNIT*1, 1))
58 DEF_PRIMITIVE_TYPE (BT_I2, builtin_type_for_size (BITS_PER_UNIT*2, 1))
59 DEF_PRIMITIVE_TYPE (BT_I4, builtin_type_for_size (BITS_PER_UNIT*4, 1))
60 DEF_PRIMITIVE_TYPE (BT_I8, builtin_type_for_size (BITS_PER_UNIT*8, 1))
61 DEF_PRIMITIVE_TYPE (BT_I16, builtin_type_for_size (BITS_PER_UNIT*16, 1))
63 DEF_PRIMITIVE_TYPE (BT_PTR, ptr_type_node)
64 DEF_PRIMITIVE_TYPE (BT_CONST_PTR, const_ptr_type_node)
65 DEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR,
67 (build_qualified_type (void_type_node,
69 DEF_PRIMITIVE_TYPE (BT_CONST_VOLATILE_PTR,
71 (build_qualified_type (void_type_node,
72 TYPE_QUAL_VOLATILE|TYPE_QUAL_CONST)))
73 DEF_PRIMITIVE_TYPE (BT_PTRMODE, (*lang_hooks.types.type_for_mode)(ptr_mode, 0))
74 DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG)
75 DEF_POINTER_TYPE (BT_PTR_ULONGLONG, BT_ULONGLONG)
76 DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR)
77 DEF_FUNCTION_TYPE_0 (BT_FN_BOOL, BT_BOOL)
78 DEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR)
79 DEF_FUNCTION_TYPE_0 (BT_FN_INT, BT_INT)
80 DEF_FUNCTION_TYPE_0 (BT_FN_UINT, BT_UINT)
81 DEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID)
83 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR)
84 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR)
85 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR)
86 DEF_FUNCTION_TYPE_1 (BT_FN_INT_INT, BT_INT, BT_INT)
87 DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
88 DEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR)
89 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT)
90 DEF_FUNCTION_TYPE_1 (BT_FN_VOID_BOOL, BT_VOID, BT_BOOL)
91 DEF_FUNCTION_TYPE_1 (BT_FN_BOOL_INT, BT_BOOL, BT_INT)
93 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR)
95 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR,
96 BT_BOOL, BT_PTR_LONG, BT_PTR_LONG)
97 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
98 BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
99 DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1)
100 DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2)
101 DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4)
102 DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8)
103 DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16)
104 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR)
105 DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR,
107 DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR,
109 DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR,
111 DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR,
113 DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR,
115 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT)
116 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT)
117 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_SIZE_CONST_VPTR, BT_BOOL, BT_SIZE,
118 BT_CONST_VOLATILE_PTR)
119 DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_INT_BOOL, BT_BOOL, BT_INT, BT_BOOL)
120 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT_UINT, BT_VOID, BT_UINT, BT_UINT)
121 DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTRMODE,
122 BT_VOID, BT_PTR, BT_PTRMODE)
124 DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_PTR)
126 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR,
128 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR,
130 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR,
132 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR,
134 DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR,
136 DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1)
137 DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2)
138 DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4)
139 DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8)
140 DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR,
142 DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_INT, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_INT)
143 DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_INT, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_INT)
144 DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_INT, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_INT)
145 DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_INT, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_INT)
146 DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_INT, BT_I16, BT_VOLATILE_PTR, BT_I16, BT_INT)
147 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I1_INT, BT_VOID, BT_VOLATILE_PTR, BT_I1, BT_INT)
148 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I2_INT, BT_VOID, BT_VOLATILE_PTR, BT_I2, BT_INT)
149 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I4_INT, BT_VOID, BT_VOLATILE_PTR, BT_I4, BT_INT)
150 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I8_INT, BT_VOID, BT_VOLATILE_PTR, BT_I8, BT_INT)
151 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I16_INT, BT_VOID, BT_VOLATILE_PTR, BT_I16, BT_INT)
152 DEF_FUNCTION_TYPE_3 (BT_FN_VOID_SIZE_SIZE_PTR, BT_VOID, BT_SIZE, BT_SIZE,
154 DEF_FUNCTION_TYPE_3 (BT_FN_UINT_UINT_PTR_PTR, BT_UINT, BT_UINT, BT_PTR, BT_PTR)
155 DEF_FUNCTION_TYPE_3 (BT_FN_PTR_SIZE_SIZE_PTRMODE,
156 BT_PTR, BT_SIZE, BT_SIZE, BT_PTRMODE)
158 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT,
159 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
160 DEF_FUNCTION_TYPE_4 (BT_FN_UINT_OMPFN_PTR_UINT_UINT,
161 BT_UINT, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
162 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR,
163 BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
164 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_VPTR_PTR_INT, BT_VOID, BT_SIZE,
165 BT_VOLATILE_PTR, BT_PTR, BT_INT)
166 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_VOID, BT_SIZE,
167 BT_CONST_VOLATILE_PTR, BT_PTR, BT_INT)
168 DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
169 BT_BOOL, BT_UINT, BT_PTR_LONG, BT_PTR_LONG, BT_PTR_LONG)
170 DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
171 BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG,
173 DEF_FUNCTION_TYPE_4 (BT_FN_VOID_UINT_PTR_INT_PTR, BT_VOID, BT_INT, BT_PTR,
176 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT,
177 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT,
179 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
180 BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
181 BT_PTR_LONG, BT_PTR_LONG)
182 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE,
183 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT)
184 DEF_FUNCTION_TYPE_5 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR,
185 BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR, BT_PTR)
186 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
187 BT_BOOL, BT_UINT, BT_PTR_LONG, BT_LONG, BT_PTR_LONG,
189 DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
190 BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_ULONGLONG,
191 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
193 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
194 BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
195 BT_PTR_LONG, BT_PTR_LONG)
196 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
197 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
198 BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
199 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT,
200 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT,
202 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT,
203 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT,
205 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT,
206 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT,
208 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT,
209 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT,
211 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT,
212 BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT,
214 DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE,
215 BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
217 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
218 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
219 BT_LONG, BT_LONG, BT_LONG, BT_UINT)
220 DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
221 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
222 BT_ULONGLONG, BT_ULONGLONG,
223 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
224 DEF_FUNCTION_TYPE_7 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
225 BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR, BT_PTR, BT_UINT,
228 DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
229 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
230 BT_LONG, BT_LONG, BT_LONG, BT_LONG, BT_UINT)
231 DEF_FUNCTION_TYPE_8 (BT_FN_BOOL_UINT_LONGPTR_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR,
232 BT_BOOL, BT_UINT, BT_PTR_LONG, BT_LONG, BT_LONG,
233 BT_PTR_LONG, BT_PTR_LONG, BT_PTR, BT_PTR)
234 DEF_FUNCTION_TYPE_8 (BT_FN_BOOL_UINT_ULLPTR_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR,
235 BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_LONG, BT_ULONGLONG,
236 BT_PTR_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR, BT_PTR)
238 DEF_FUNCTION_TYPE_9 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
239 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
240 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
241 BT_BOOL, BT_UINT, BT_PTR, BT_INT)
242 DEF_FUNCTION_TYPE_9 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR,
243 BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_SIZE, BT_PTR,
244 BT_PTR, BT_PTR, BT_UINT, BT_PTR, BT_PTR)
245 DEF_FUNCTION_TYPE_9 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR,
246 BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
247 BT_PTR_LONG, BT_PTR_LONG, BT_PTR, BT_PTR)
249 DEF_FUNCTION_TYPE_10 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR,
250 BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
251 BT_ULONGLONG, BT_LONG, BT_ULONGLONG, BT_PTR_ULONGLONG,
252 BT_PTR_ULONGLONG, BT_PTR, BT_PTR)
254 DEF_FUNCTION_TYPE_11 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
255 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
256 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
257 BT_UINT, BT_LONG, BT_INT, BT_LONG, BT_LONG, BT_LONG)
258 DEF_FUNCTION_TYPE_11 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
259 BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
260 BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
261 BT_UINT, BT_LONG, BT_INT,
262 BT_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
264 DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)
266 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_LONG_VAR,
268 DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_ULL_VAR,
269 BT_VOID, BT_ULONGLONG)
271 DEF_FUNCTION_TYPE_VAR_2 (BT_FN_VOID_INT_INT_VAR, BT_VOID, BT_INT, BT_INT)
273 DEF_FUNCTION_TYPE_VAR_7 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR,
274 BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR,
275 BT_PTR, BT_INT, BT_INT)
277 DEF_FUNCTION_TYPE_VAR_6 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_VAR,
278 BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_SIZE,
279 BT_PTR, BT_PTR, BT_PTR)