-/*
- * TODO: make static (and handle ast_type_string) here for the builtin
- * instead of in SYA parse close.
- */
-ast_expression *intrin_debug_typestring(intrin_t *intrin) {
- (void)intrin;
- return (ast_expression*)0x1;
-}
-
-static const intrin_func_t intrinsics[] = {
- {&intrin_isfinite, "__builtin_isfinite", "isfinite", 1},
- {&intrin_isinf, "__builtin_isinf", "isinf", 1},
- {&intrin_isnan, "__builtin_isnan", "isnan", 1},
- {&intrin_isnormal, "__builtin_isnormal", "isnormal", 1},
- {&intrin_signbit, "__builtin_signbit", "signbit", 1},
- {&intrin_acosh, "__builtin_acosh", "acosh", 1},
- {&intrin_asinh, "__builtin_asinh", "asinh", 1},
- {&intrin_atanh, "__builtin_atanh", "atanh", 1},
- {&intrin_exp, "__builtin_exp", "exp", 1},
- {&intrin_exp2, "__builtin_exp2", "exp2", 1},
- {&intrin_expm1, "__builtin_expm1", "expm1", 1},
- {&intrin_mod, "__builtin_mod", "mod", 2},
- {&intrin_pow, "__builtin_pow", "pow", 2},
- {&intrin_fabs, "__builtin_fabs", "fabs", 1},
- {&intrin_log, "__builtin_log", "log", 1},
- {&intrin_log10, "__builtin_log10", "log10", 1},
- {&intrin_log2, "__builtin_log2", "log2", 1},
- {&intrin_logb, "__builtin_logb", "logb", 1},
- {&intrin_lshift, "__builtin_lshift", "", 2},
- {&intrin_rshift, "__builtin_rshift", "", 2},
- {&intrin_epsilon, "__builtin_epsilon", "", 0},
- {&intrin_nan, "__builtin_nan", "", 0},
- {&intrin_inf, "__builtin_inf", "", 0},
- {&intrin_ln, "__builtin_ln", "", 2},
- {&intrin_debug_typestring, "__builtin_debug_typestring", "", 0},
- {&intrin_nullfunc, "#nullfunc", "", 0}
-};
-
-static void intrin_error(intrin_t *intrin, const char *fmt, ...) {