// "gcc -E builtins.c"

#define DEF_BUILTIN(ENUM, NAME, CLASS, TYPE, LIBTYPE, BOTH_P, FALLBACK_P, NONANSI_P) TYPE(NAME)
#define FUNC_SIMPLE(RETURN, NAME) RETURN NAME();
#define BT_LAST(x)

#define BT_VOID void
#define BT_INT int
#define BT_UNSIGNED unsigned
#define BT_LONG long
#define BT_LONGLONG long long
#define BT_FLOAT float
#define BT_INTMAX long long
#define BT_DOUBLE double
#define BT_LONG_DOUBLE long double
#define BT_COMPLEX_FLOAT _Complex float
#define BT_COMPLEX_DOUBLE _Complex double
#define BT_COMPLEX_LONG_DOUBLE _Complex long double

#define BT_PTR void*
#define BT_CONST_PTR const void*
#define BT_TRAD_PTR char*
#define BT_TRAD_CONST_PTR const char*
#define BT_SIZE unsigned long
#define BT_STRING char*
#define BT_CONST_STRING const char*
#define BT_LEN unsigned long

#define BT_FN_VOID(NAME) FUNC_SIMPLE(BT_VOID, NAME)
#define BT_FN_PTR(NAME) FUNC_SIMPLE(BT_PTR, NAME)
#define BT_FN_UNSIGNED(NAME) FUNC_SIMPLE(BT_UNSIGNED, NAME)

#define BT_FN_LONG_LONG(NAME) FUNC_SIMPLE(BT_LONG, NAME)
#define BT_FN_LONGLONG_LONGLONG(NAME) FUNC_SIMPLE(BT_LONGLONG, NAME)
#define BT_FN_INTMAX_INTMAX(NAME) FUNC_SIMPLE(BT_INTMAX, NAME)
#define BT_FN_FLOAT_FLOAT(NAME) FUNC_SIMPLE(BT_FLOAT, NAME)
#define BT_FN_DOUBLE_DOUBLE(NAME) FUNC_SIMPLE(BT_DOUBLE, NAME)
#define BT_FN_LONG_DOUBLE_LONG_DOUBLE(NAME) FUNC_SIMPLE(BT_LONG_DOUBLE, NAME)
#define BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT(NAME) FUNC_SIMPLE(BT_COMPLEX_FLOAT, NAME)
#define BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE(NAME) FUNC_SIMPLE(BT_COMPLEX_DOUBLE, NAME)
#define BT_FN_COMPLEX_LONG_DOUBLE_COMPLEX_LONG_DOUBLE(NAME) FUNC_SIMPLE(BT_COMPLEX_LONG_DOUBLE, NAME)
#define BT_FN_FLOAT_COMPLEX_FLOAT(NAME) FUNC_SIMPLE(BT_FLOAT, NAME)
#define BT_FN_DOUBLE_COMPLEX_DOUBLE(NAME) FUNC_SIMPLE(BT_DOUBLE, NAME)
#define BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE(NAME) FUNC_SIMPLE(BT_LONG_DOUBLE, NAME)
#define BT_FN_PTR_UNSIGNED(NAME) FUNC_SIMPLE(BT_PTR, NAME)
#define BT_FN_PTR_SIZE(NAME) FUNC_SIMPLE(BT_PTR, NAME)
#define BT_FN_INT_INT(NAME) FUNC_SIMPLE(BT_INT, NAME)
#define BT_FN_INT_PTR(NAME) FUNC_SIMPLE(BT_INT, NAME)
#define BT_FN_VOID_PTR(NAME) FUNC_SIMPLE(BT_VOID, NAME)
#define BT_FN_LEN_CONST_STRING(NAME) FUNC_SIMPLE(BT_LEN, NAME)
#define BT_FN_INT_CONST_STRING(NAME) FUNC_SIMPLE(BT_INT, NAME)
#define BT_FN_PTR_PTR(NAME) FUNC_SIMPLE(BT_PTR, NAME)
#define BT_FN_VOID_VALIST_REF(NAME) FUNC_SIMPLE(BT_VOID, NAME)
#define BT_FN_VOID_INT(NAME) FUNC_SIMPLE(BT_VOID, NAME)

#define BT_FN_VOID_PTR_INT(NAME) FUNC_SIMPLE(BT_VOID, NAME)
#define BT_FN_STRING_STRING_CONST_STRING(NAME) FUNC_SIMPLE(BT_STRING, NAME)
#define BT_FN_INT_CONST_STRING_CONST_STRING(NAME) FUNC_SIMPLE(BT_INT, NAME)
#define BT_FN_STRING_CONST_STRING_CONST_STRING(NAME) FUNC_SIMPLE(BT_STRING, NAME)
#define BT_FN_SIZE_CONST_STRING_CONST_STRING(NAME) FUNC_SIMPLE(BT_SIZE, NAME)
#define BT_FN_STRING_CONST_STRING_INT(NAME) FUNC_SIMPLE(BT_STRING, NAME)
#define BT_FN_INT_CONST_STRING_PTR(NAME) FUNC_SIMPLE(BT_INT, NAME)
#define BT_FN_INT_INT_PTR(NAME) FUNC_SIMPLE(BT_INT, NAME)
#define BT_FN_VOID_PTRMODE_PTR(NAME) FUNC_SIMPLE(BT_VOID, NAME)
#define BT_FN_VOID_VALIST_REF_VALIST_ARG(NAME) FUNC_SIMPLE(BT_VOID, NAME)
#define BT_FN_LONG_LONG_LONG(NAME) FUNC_SIMPLE(BT_LONG, NAME)
#define BT_FN_INT_PTR_CONST_STRING(NAME) FUNC_SIMPLE(BT_INT, NAME)
#define BT_FN_VOID_TRAD_PTR_LEN(NAME) FUNC_SIMPLE(BT_VOID, NAME)

#define BT_FN_STRING_STRING_CONST_STRING_SIZE(NAME) FUNC_SIMPLE(BT_STRING, NAME)
#define BT_FN_INT_CONST_STRING_CONST_STRING_SIZE(NAME) FUNC_SIMPLE(BT_INT, NAME)
#define BT_FN_TRAD_PTR_PTR_CONST_PTR_SIZE(NAME) FUNC_SIMPLE(BT_TRAD_PTR, NAME)
#define BT_FN_INT_CONST_PTR_CONST_PTR_SIZE(NAME) FUNC_SIMPLE(BT_INT, NAME)
#define BT_FN_TRAD_PTR_PTR_INT_SIZE(NAME) FUNC_SIMPLE(BT_TRAD_PTR, NAME)
#define BT_FN_INT_TRAD_CONST_PTR_TRAD_CONST_PTR_LEN(NAME) FUNC_SIMPLE(BT_INT, NAME)
#define BT_FN_VOID_PTR_INT_INT(NAME) FUNC_SIMPLE(BT_VOID, NAME)

#define BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR(NAME) FUNC_SIMPLE(BT_SIZE, NAME)

#define BT_FN_VOID_VAR(NAME) FUNC_SIMPLE(BT_VOID, NAME)
#define BT_FN_INT_VAR(NAME) FUNC_SIMPLE(BT_INT, NAME)
#define BT_FN_PTR_VAR(NAME) FUNC_SIMPLE(BT_PTR, NAME)

#define BT_FN_VOID_VALIST_REF_VAR(NAME) FUNC_SIMPLE(BT_VOID, NAME)
#define BT_FN_VOID_CONST_PTR_VAR(NAME) FUNC_SIMPLE(BT_VOID, NAME)
#define BT_FN_INT_CONST_STRING_VAR(NAME) FUNC_SIMPLE(BT_INT, NAME)

#define BT_FN_INT_PTR_CONST_STRING_VAR(NAME) FUNC_SIMPLE(BT_INT, NAME)

#define BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE(NAME) FUNC_SIMPLE(BT_PTR, NAME)

#include "builtins.def"

typedef void ** __builtin_va_list;
extern const char *__PRETTY_FUNCTION__;
typedef int wchar_t;
