builtin-types.def revision 256281
1157642Sps/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 2265918Sdavidcs Free Software Foundation, Inc. 3157642Sps 4157642SpsThis file is part of GCC. 5157642Sps 6157642SpsGCC is free software; you can redistribute it and/or modify it under 7157642Spsthe terms of the GNU General Public License as published by the Free 8157642SpsSoftware Foundation; either version 2, or (at your option) any later 9157642Spsversion. 10157642Sps 11157642SpsGCC is distributed in the hope that it will be useful, but WITHOUT ANY 12157642SpsWARRANTY; without even the implied warranty of MERCHANTABILITY or 13157642SpsFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14157642Spsfor more details. 15157642Sps 16157642SpsYou should have received a copy of the GNU General Public License 17157642Spsalong with GCC; see the file COPYING. If not, write to the Free 18157642SpsSoftware Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 19157642Sps02110-1301, USA. */ 20157642Sps 21157642Sps/* This header provides a declarative way of describing the types that 22157642Sps are used when declaring builtin functions. 23157642Sps 24157642Sps Before including this header, you must define the following macros: 25157642Sps 26157642Sps DEF_PRIMITIVE_TYPE (ENUM, TYPE) 27157642Sps 28189325Sdavidch The ENUM is an identifier indicating which type is being defined. 29189325Sdavidch TYPE is an expression for a `tree' that represents the type. 30157642Sps 31157642Sps DEF_FUNCTION_TYPE_0 (ENUM, RETURN) 32157642Sps DEF_FUNCTION_TYPE_1 (ENUM, RETURN, ARG1) 33157642Sps DEF_FUNCTION_TYPE_2 (ENUM, RETURN, ARG1, ARG2) 34157642Sps DEF_FUNCTION_TYPE_3 (ENUM, RETURN, ARG1, ARG2, ARG3) 35157642Sps DEF_FUNCTION_TYPE_4 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4) 36157642Sps DEF_FUNCTION_TYPE_5 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5) 37157642Sps DEF_FUNCTION_TYPE_6 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) 38157642Sps DEF_FUNCTION_TYPE_7 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) 39157642Sps 40157642Sps These macros describe function types. ENUM is as above. The 41157642Sps RETURN type is one of the enumerals already defined. ARG1, ARG2, 42157642Sps and ARG3 give the types of the arguments, similarly. 43169632Sdavidch 44169632Sdavidch DEF_FUNCTION_TYPE_VAR_0 (ENUM, RETURN) 45157642Sps DEF_FUNCTION_TYPE_VAR_1 (ENUM, RETURN, ARG1) 46157642Sps DEF_FUNCTION_TYPE_VAR_2 (ENUM, RETURN, ARG1, ARG2) 47157642Sps DEF_FUNCTION_TYPE_VAR_3 (ENUM, RETURN, ARG1, ARG2, ARG3) 48157642Sps DEF_FUNCTION_TYPE_VAR_4 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4) 49157642Sps DEF_FUNCTION_TYPE_VAR_4 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5) 50157642Sps 51157642Sps Similar, but for function types that take variable arguments. 52157642Sps For example: 53157642Sps 54157642Sps DEF_FUNCTION_TYPE_1 (BT_INT_DOUBLE, BT_INT, BT_DOUBLE) 55169632Sdavidch 56157642Sps describes the type `int ()(double)', using the enumeral 57169632Sdavidch BT_INT_DOUBLE, whereas: 58169632Sdavidch 59169632Sdavidch DEF_FUNCTION_TYPE_VAR_1 (BT_INT_DOUBLE_VAR, BT_INT, BT_DOUBLE) 60170392Sdavidch 61157642Sps describes the type `int ()(double, ...)'. 62157642Sps 63157642Sps DEF_POINTER_TYPE (ENUM, TYPE) 64157642Sps 65157642Sps This macro describes a pointer type. ENUM is as above; TYPE is 66157642Sps the type pointed to. */ 67157642Sps 68157642SpsDEF_PRIMITIVE_TYPE (BT_VOID, void_type_node) 69157642SpsDEF_PRIMITIVE_TYPE (BT_BOOL, boolean_type_node) 70157642SpsDEF_PRIMITIVE_TYPE (BT_INT, integer_type_node) 71157642SpsDEF_PRIMITIVE_TYPE (BT_UINT, unsigned_type_node) 72157642SpsDEF_PRIMITIVE_TYPE (BT_LONG, long_integer_type_node) 73157642SpsDEF_PRIMITIVE_TYPE (BT_ULONG, long_unsigned_type_node) 74157642SpsDEF_PRIMITIVE_TYPE (BT_LONGLONG, long_long_integer_type_node) 75157642SpsDEF_PRIMITIVE_TYPE (BT_ULONGLONG, long_long_unsigned_type_node) 76157642SpsDEF_PRIMITIVE_TYPE (BT_INTMAX, intmax_type_node) 77157642SpsDEF_PRIMITIVE_TYPE (BT_UINTMAX, uintmax_type_node) 78157642SpsDEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 0)) 79157642SpsDEF_PRIMITIVE_TYPE (BT_FLOAT, float_type_node) 80206268SdavidchDEF_PRIMITIVE_TYPE (BT_DOUBLE, double_type_node) 81206268SdavidchDEF_PRIMITIVE_TYPE (BT_LONGDOUBLE, long_double_type_node) 82206268SdavidchDEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT, complex_float_type_node) 83157642SpsDEF_PRIMITIVE_TYPE (BT_COMPLEX_DOUBLE, complex_double_type_node) 84157642SpsDEF_PRIMITIVE_TYPE (BT_COMPLEX_LONGDOUBLE, complex_long_double_type_node) 85157642Sps 86157642SpsDEF_PRIMITIVE_TYPE (BT_PTR, ptr_type_node) 87157642SpsDEF_PRIMITIVE_TYPE (BT_FILEPTR, fileptr_type_node) 88157642SpsDEF_PRIMITIVE_TYPE (BT_CONST_PTR, const_ptr_type_node) 89157642SpsDEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR, 90157642Sps build_pointer_type 91178132Sdavidch (build_qualified_type (void_type_node, 92178132Sdavidch TYPE_QUAL_VOLATILE))) 93206268SdavidchDEF_PRIMITIVE_TYPE (BT_PTRMODE, (*lang_hooks.types.type_for_mode)(ptr_mode, 0)) 94206268SdavidchDEF_PRIMITIVE_TYPE (BT_INT_PTR, integer_ptr_type_node) 95206268SdavidchDEF_PRIMITIVE_TYPE (BT_FLOAT_PTR, float_ptr_type_node) 96206268SdavidchDEF_PRIMITIVE_TYPE (BT_DOUBLE_PTR, double_ptr_type_node) 97206268SdavidchDEF_PRIMITIVE_TYPE (BT_LONGDOUBLE_PTR, long_double_ptr_type_node) 98206268SdavidchDEF_PRIMITIVE_TYPE (BT_PID, pid_type_node) 99206268SdavidchDEF_PRIMITIVE_TYPE (BT_SIZE, size_type_node) 100206268SdavidchDEF_PRIMITIVE_TYPE (BT_SSIZE, signed_size_type_node) 101206268SdavidchDEF_PRIMITIVE_TYPE (BT_WINT, wint_type_node) 102206268SdavidchDEF_PRIMITIVE_TYPE (BT_STRING, string_type_node) 103206268SdavidchDEF_PRIMITIVE_TYPE (BT_CONST_STRING, const_string_type_node) 104206268Sdavidch 105206268SdavidchDEF_PRIMITIVE_TYPE (BT_DFLOAT32, dfloat32_type_node) 106206268SdavidchDEF_PRIMITIVE_TYPE (BT_DFLOAT64, dfloat64_type_node) 107206268SdavidchDEF_PRIMITIVE_TYPE (BT_DFLOAT128, dfloat128_type_node) 108206268SdavidchDEF_PRIMITIVE_TYPE (BT_DFLOAT32_PTR, dfloat32_ptr_type_node) 109206268SdavidchDEF_PRIMITIVE_TYPE (BT_DFLOAT64_PTR, dfloat64_ptr_type_node) 110206268SdavidchDEF_PRIMITIVE_TYPE (BT_DFLOAT128_PTR, dfloat128_ptr_type_node) 111206268Sdavidch 112206268SdavidchDEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node) 113206268SdavidchDEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node) 114206268Sdavidch 115206268SdavidchDEF_PRIMITIVE_TYPE (BT_I1, builtin_type_for_size (BITS_PER_UNIT*1, 1)) 116206268SdavidchDEF_PRIMITIVE_TYPE (BT_I2, builtin_type_for_size (BITS_PER_UNIT*2, 1)) 117206268SdavidchDEF_PRIMITIVE_TYPE (BT_I4, builtin_type_for_size (BITS_PER_UNIT*4, 1)) 118206268SdavidchDEF_PRIMITIVE_TYPE (BT_I8, builtin_type_for_size (BITS_PER_UNIT*8, 1)) 119206268SdavidchDEF_PRIMITIVE_TYPE (BT_I16, builtin_type_for_size (BITS_PER_UNIT*16, 1)) 120206268Sdavidch 121206268SdavidchDEF_POINTER_TYPE (BT_PTR_CONST_STRING, BT_CONST_STRING) 122206268SdavidchDEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG) 123206268SdavidchDEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR) 124206268Sdavidch 125178132SdavidchDEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID) 126178132SdavidchDEF_FUNCTION_TYPE_0 (BT_FN_BOOL, BT_BOOL) 127179771SdavidchDEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR) 128179771SdavidchDEF_FUNCTION_TYPE_0 (BT_FN_PID, BT_PID) 129206268SdavidchDEF_FUNCTION_TYPE_0 (BT_FN_INT, BT_INT) 130206268SdavidchDEF_FUNCTION_TYPE_0 (BT_FN_UINT, BT_UINT) 131206268SdavidchDEF_FUNCTION_TYPE_0 (BT_FN_FLOAT, BT_FLOAT) 132206268SdavidchDEF_FUNCTION_TYPE_0 (BT_FN_DOUBLE, BT_DOUBLE) 133206268Sdavidch/* For "long double" we use LONGDOUBLE (not LONG_DOUBLE) to 134206268Sdavidch distinguish it from two types in sequence, "long" followed by 135206268Sdavidch "double". */ 136206268SdavidchDEF_FUNCTION_TYPE_0 (BT_FN_LONGDOUBLE, BT_LONGDOUBLE) 137206268SdavidchDEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT32, BT_DFLOAT32) 138206268SdavidchDEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT64, BT_DFLOAT64) 139206268SdavidchDEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT128, BT_DFLOAT128) 140206268Sdavidch 141206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONG, BT_LONG, BT_LONG) 142206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGLONG, BT_LONGLONG, BT_LONGLONG) 143206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INTMAX_INTMAX, BT_INTMAX, BT_INTMAX) 144206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_FLOAT, BT_FLOAT, BT_FLOAT) 145179771SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_DOUBLE, BT_DOUBLE, BT_DOUBLE) 146178132SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_LONGDOUBLE, 147179771Sdavidch BT_LONGDOUBLE, BT_LONGDOUBLE) 148179771SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, 149206268Sdavidch BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT) 150206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, 151206268Sdavidch BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE) 152206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, 153206268Sdavidch BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE) 154206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_COMPLEX_FLOAT, 155206268Sdavidch BT_FLOAT, BT_COMPLEX_FLOAT) 156206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_COMPLEX_DOUBLE, 157206268Sdavidch BT_DOUBLE, BT_COMPLEX_DOUBLE) 158206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE, 159206268Sdavidch BT_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE) 160206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_PTR_UINT, BT_PTR, BT_UINT) 161206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_PTR_SIZE, BT_PTR, BT_SIZE) 162206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_INT, BT_INT, BT_INT) 163206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_UINT, BT_INT, BT_UINT) 164206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_LONG, BT_INT, BT_LONG) 165179771SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONG, BT_INT, BT_ULONG) 166179771SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGLONG, BT_INT, BT_LONGLONG) 167179771SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONGLONG, BT_INT, BT_ULONGLONG) 168179771SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_INTMAX, BT_INT, BT_INTMAX) 169206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_UINTMAX, BT_INT, BT_UINTMAX) 170206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_PTR, BT_INT, BT_PTR) 171206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT, BT_INT, BT_FLOAT) 172206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_DOUBLE, BT_INT, BT_DOUBLE) 173206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE) 174206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT32, BT_INT, BT_DFLOAT32) 175206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT64, BT_INT, BT_DFLOAT64) 176206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT128, BT_INT, BT_DFLOAT128) 177206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT, BT_LONG, BT_FLOAT) 178206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_LONG_DOUBLE, BT_LONG, BT_DOUBLE) 179206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONGDOUBLE, BT_LONG, BT_LONGDOUBLE) 180206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT, BT_LONGLONG, BT_FLOAT) 181206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_DOUBLE, BT_LONGLONG, BT_DOUBLE) 182206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGDOUBLE, BT_LONGLONG, BT_LONGDOUBLE) 183206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR) 184206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_SIZE_CONST_STRING, BT_SIZE, BT_CONST_STRING) 185179771SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_STRING, BT_INT, BT_CONST_STRING) 186179771SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR) 187179771SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_VOID_VALIST_REF, BT_VOID, BT_VALIST_REF) 188179771SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT) 189206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_CONST_STRING, BT_FLOAT, BT_CONST_STRING) 190206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_STRING, BT_DOUBLE, BT_CONST_STRING) 191206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_CONST_STRING, 192206268Sdavidch BT_LONGDOUBLE, BT_CONST_STRING) 193206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_CONST_STRING, BT_DFLOAT32, BT_CONST_STRING) 194206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_CONST_STRING, BT_DFLOAT64, BT_CONST_STRING) 195206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_CONST_STRING, 196206268Sdavidch BT_DFLOAT128, BT_CONST_STRING) 197206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_STRING_CONST_STRING, BT_STRING, BT_CONST_STRING) 198206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_WORD_PTR, BT_WORD, BT_PTR) 199206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_INT_WINT, BT_INT, BT_WINT) 200206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_WINT_WINT, BT_WINT, BT_WINT) 201206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_DFLOAT32, BT_DFLOAT32, BT_DFLOAT32) 202206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_DFLOAT64, BT_DFLOAT64, BT_DFLOAT64) 203206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_DFLOAT128, BT_DFLOAT128, BT_DFLOAT128) 204206268SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR) 205179771SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR) 206179771SdavidchDEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT) 207179771Sdavidch 208179771SdavidchDEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR) 209206268Sdavidch 210206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_INT, BT_VOID, BT_PTR, BT_INT) 211206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_STRING_STRING_CONST_STRING, 212206268Sdavidch BT_STRING, BT_STRING, BT_CONST_STRING) 213206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_CONST_STRING, 214206268Sdavidch BT_INT, BT_CONST_STRING, BT_CONST_STRING) 215206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_CONST_STRING, 216206268Sdavidch BT_STRING, BT_CONST_STRING, BT_CONST_STRING) 217206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_CONST_STRING, 218206268Sdavidch BT_SIZE, BT_CONST_STRING, BT_CONST_STRING) 219206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_INT, 220206268Sdavidch BT_STRING, BT_CONST_STRING, BT_INT) 221206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_SIZE, 222206268Sdavidch BT_STRING, BT_CONST_STRING, BT_SIZE) 223206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_FILEPTR, 224206268Sdavidch BT_INT, BT_CONST_STRING, BT_FILEPTR) 225179771SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_FILEPTR, 226179771Sdavidch BT_INT, BT_INT, BT_FILEPTR) 227179771SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRMODE_PTR, 228179771Sdavidch BT_VOID, BT_PTRMODE, BT_PTR) 229206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_VOID_VALIST_REF_VALIST_ARG, 230206268Sdavidch BT_VOID, BT_VALIST_REF, BT_VALIST_ARG) 231206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_LONG_LONG_LONG, 232206268Sdavidch BT_LONG, BT_LONG, BT_LONG) 233206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING, 234206268Sdavidch BT_INT, BT_PTR, BT_CONST_STRING) 235206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE, 236206268Sdavidch BT_VOID, BT_PTR, BT_SIZE) 237179771SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOAT, 238179771Sdavidch BT_FLOAT, BT_FLOAT, BT_FLOAT) 239179771SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLE, 240179771Sdavidch BT_DOUBLE, BT_DOUBLE, BT_DOUBLE) 241206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, 242206268Sdavidch BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE) 243206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOATPTR, 244206268Sdavidch BT_FLOAT, BT_FLOAT, BT_FLOAT_PTR) 245206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLEPTR, 246206268Sdavidch BT_DOUBLE, BT_DOUBLE, BT_DOUBLE_PTR) 247206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR, 248206268Sdavidch BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR) 249206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONGDOUBLE, 250206268Sdavidch BT_FLOAT, BT_FLOAT, BT_LONGDOUBLE) 251206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONGDOUBLE, 252206268Sdavidch BT_DOUBLE, BT_DOUBLE, BT_LONGDOUBLE) 253206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INT, 254206268Sdavidch BT_FLOAT, BT_FLOAT, BT_INT) 255206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INT, 256206268Sdavidch BT_DOUBLE, BT_DOUBLE, BT_INT) 257179771SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INT, 258179771Sdavidch BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT) 259179771SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INTPTR, 260179771Sdavidch BT_FLOAT, BT_FLOAT, BT_INT_PTR) 261206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INTPTR, 262206268Sdavidch BT_DOUBLE, BT_DOUBLE, BT_INT_PTR) 263206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR, 264206268Sdavidch BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR) 265206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_INT_FLOAT, 266206268Sdavidch BT_FLOAT, BT_INT, BT_FLOAT) 267206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_INT_DOUBLE, 268206268Sdavidch BT_DOUBLE, BT_INT, BT_DOUBLE) 269206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_INT_LONGDOUBLE, 270206268Sdavidch BT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE) 271206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONG, 272206268Sdavidch BT_FLOAT, BT_FLOAT, BT_LONG) 273179771SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONG, 274206268Sdavidch BT_DOUBLE, BT_DOUBLE, BT_LONG) 275206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONG, 276206268Sdavidch BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONG) 277179771SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG, 278179771Sdavidch BT_INT, BT_CONST_STRING, BT_VALIST_ARG) 279207411SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_PTR_SIZE_SIZE, 280207411Sdavidch BT_PTR, BT_SIZE, BT_SIZE) 281206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT, 282206268Sdavidch BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT) 283206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE, 284206268Sdavidch BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE) 285206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, 286179771Sdavidch BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE) 287157642SpsDEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR) 288157642SpsDEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING, 289179771Sdavidch BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING) 290179771SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_PTR_INT, BT_SIZE, BT_CONST_PTR, BT_INT) 291206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1) 292206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2) 293206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4) 294206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8) 295206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16) 296206268SdavidchDEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR, 297218423Sdavidch BT_BOOL, BT_PTR_LONG, BT_PTR_LONG) 298206268Sdavidch 299218423SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE, 300218423Sdavidch BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE) 301218423SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_SIZE, 302206268Sdavidch BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE) 303206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_PTR_SIZE, 304218423Sdavidch BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE) 305157642SpsDEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE, 306206268Sdavidch BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE) 307157642SpsDEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE, 308218423Sdavidch BT_PTR, BT_PTR, BT_INT, BT_SIZE) 309206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT, 310206268Sdavidch BT_VOID, BT_PTR, BT_INT, BT_INT) 311206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_PTR_SIZE, 312206268Sdavidch BT_VOID, BT_CONST_PTR, BT_PTR, BT_SIZE) 313206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG, 314157642Sps BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG) 315206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG, 316157642Sps BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG) 317206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG, 318206268Sdavidch BT_INT, BT_FILEPTR, BT_CONST_STRING, BT_VALIST_ARG) 319206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_STRING_CONST_STRING_CONST_STRING_INT, 320206268Sdavidch BT_STRING, BT_CONST_STRING, BT_CONST_STRING, BT_INT) 321218423SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, 322157642Sps BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT) 323206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE, 324206268Sdavidch BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE) 325206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, 326206268Sdavidch BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE) 327218423SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, 328157642Sps BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_INT_PTR) 329206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR, 330206268Sdavidch BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_INT_PTR) 331206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR, 332206268Sdavidch BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR) 333218423SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR, 334157642Sps BT_VOID, BT_FLOAT, BT_FLOAT_PTR, BT_FLOAT_PTR) 335206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR, 336206268Sdavidch BT_VOID, BT_DOUBLE, BT_DOUBLE_PTR, BT_DOUBLE_PTR) 337206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR, 338206268Sdavidch BT_VOID, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR, BT_LONGDOUBLE_PTR) 339218423SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_PTR, BT_VOID, BT_PTR, BT_PTR, BT_PTR) 340157642SpsDEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING, 341218423Sdavidch BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING) 342218423SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_CONST_STRING_VALIST_ARG, 343206268Sdavidch BT_INT, BT_INT, BT_CONST_STRING, BT_VALIST_ARG) 344206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR, 345206268Sdavidch BT_I1, BT_I1) 346157642SpsDEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR, 347206268Sdavidch BT_I2, BT_I2) 348206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR, 349206268Sdavidch BT_I4, BT_I4) 350206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR, 351206268Sdavidch BT_I8, BT_I8) 352157642SpsDEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR, 353206268Sdavidch BT_I16, BT_I16) 354206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1) 355218423SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2) 356218423SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4) 357206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8) 358170810SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR, 359206268Sdavidch BT_I16, BT_I16) 360206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_VOID_OMPFN_PTR_UINT, BT_VOID, BT_PTR_FN_VOID_PTR, 361206268Sdavidch BT_PTR, BT_UINT) 362206268Sdavidch 363206268SdavidchDEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR, 364170810Sdavidch BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR) 365206268SdavidchDEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG, 366206268Sdavidch BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG) 367218423SdavidchDEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR, 368218423Sdavidch BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_PTR) 369218423SdavidchDEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE, 370170810Sdavidch BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE) 371206268SdavidchDEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_INT_SIZE_SIZE, 372206268Sdavidch BT_PTR, BT_PTR, BT_INT, BT_SIZE, BT_SIZE) 373218423SdavidchDEF_FUNCTION_TYPE_4 (BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE, 374218423Sdavidch BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE) 375206268SdavidchDEF_FUNCTION_TYPE_4 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG, 376179771Sdavidch BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG) 377206268SdavidchDEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT, 378206268Sdavidch BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT) 379218423Sdavidch 380218423SdavidchDEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG, 381206268Sdavidch BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING, 382179771Sdavidch BT_VALIST_ARG) 383206268SdavidchDEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR, 384206268Sdavidch BT_BOOL, BT_LONG, BT_LONG, BT_LONG, 385206268Sdavidch BT_PTR_LONG, BT_PTR_LONG) 386206268Sdavidch 387218423SdavidchDEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG, 388170810Sdavidch BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE, 389206268Sdavidch BT_CONST_STRING, BT_VALIST_ARG) 390206268SdavidchDEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 391218423Sdavidch BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG, 392218423Sdavidch BT_PTR_LONG, BT_PTR_LONG) 393206268SdavidchDEF_FUNCTION_TYPE_6 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG, 394170810Sdavidch BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, 395218423Sdavidch BT_LONG, BT_LONG, BT_LONG) 396218423Sdavidch 397218423SdavidchDEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG, 398206268Sdavidch BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, 399206268Sdavidch BT_LONG, BT_LONG, BT_LONG, BT_LONG) 400218423Sdavidch 401157642SpsDEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID) 402206268SdavidchDEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT) 403206268SdavidchDEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR) 404206268Sdavidch 405206268SdavidchDEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR, 406157642Sps BT_VOID, BT_VALIST_REF) 407157642SpsDEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR, 408157642Sps BT_VOID, BT_CONST_PTR) 409157642SpsDEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR, 410206268Sdavidch BT_INT, BT_CONST_STRING) 411206268Sdavidch 412206268SdavidchDEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR, 413157642Sps BT_INT, BT_FILEPTR, BT_CONST_STRING) 414157642SpsDEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR, 415178132Sdavidch BT_INT, BT_STRING, BT_CONST_STRING) 416206268SdavidchDEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR, 417206268Sdavidch BT_INT, BT_CONST_STRING, BT_CONST_STRING) 418206268SdavidchDEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR, 419178132Sdavidch BT_INT, BT_INT, BT_CONST_STRING) 420178132Sdavidch 421157642SpsDEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR, 422206268Sdavidch BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING) 423206268SdavidchDEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR, 424206268Sdavidch BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING) 425157642SpsDEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR, 426157642Sps BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING) 427157642Sps 428206268SdavidchDEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR, 429206268Sdavidch BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING) 430206268Sdavidch 431157642SpsDEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR, 432157642Sps BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE, 433157642Sps BT_CONST_STRING) 434207411Sdavidch 435206268SdavidchDEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR) 436206268SdavidchDEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE, 437157642Sps BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE) 438157642Sps 439157642Sps