diff --git a/libtcc.c b/libtcc.c index ed33c278..65a8b680 100644 --- a/libtcc.c +++ b/libtcc.c @@ -884,6 +884,10 @@ LIBTCCAPI TCCState *tcc_new(void) tcc_define_symbol(s, "__FreeBSD__", "12"); /* No 'Thread Storage Local' on FreeBSD with tcc */ tcc_define_symbol(s, "__NO_TLS", NULL); + tcc_define_symbol(s, "__builtin_huge_val()", "1e500"); + tcc_define_symbol(s, "__builtin_huge_valf()", "1e50f"); + tcc_define_symbol(s, "__builtin_huge_vall()", "1e5000L"); + tcc_define_symbol(s, "__builtin_nanf(ignored_string)", "(0.0F/0.0F)"); # if defined(__aarch64__) /* FIXME, __int128_t is used by setjump */ tcc_define_symbol(s, "__int128_t", "struct { unsigned char _dummy[16]; }"); @@ -899,6 +903,10 @@ LIBTCCAPI TCCState *tcc_new(void) tcc_define_symbol(s, "__GNUC_PATCHLEVEL__", "0"); tcc_define_symbol(s, "_Pragma(x)", ""); tcc_define_symbol(s, "__ELF__", "1"); + tcc_define_symbol(s, "__builtin_huge_val()", "1e500"); + tcc_define_symbol(s, "__builtin_huge_valf()", "1e50f"); + tcc_define_symbol(s, "__builtin_huge_vall()", "1e5000L"); + tcc_define_symbol(s, "__builtin_nanf(ignored_string)", "(0.0F/0.0F)"); # endif # if TARGETOS_OpenBSD tcc_define_symbol(s, "__OpenBSD__", "1");