aboutsummaryrefslogtreecommitdiff
path: root/tccgen.c
diff options
context:
space:
mode:
authorgrischka <grischka>2011-08-01 01:10:36 +0200
committergrischka <grischka>2011-08-01 01:10:36 +0200
commitdf9cce24a87442079d878978e56caa0787f37e1a (patch)
tree9758c048385bdf2181f67ce835fa140ce8119a95 /tccgen.c
parent626a9074512c6c6ba060dc8a4a0d1caa49db76c1 (diff)
downloadtinycc-df9cce24a87442079d878978e56caa0787f37e1a.tar.gz
tinycc-df9cce24a87442079d878978e56caa0787f37e1a.tar.bz2
Accept colon separated paths with -L and -I
This allows passing colon separated paths to tcc_add_library_path tcc_add_sysinclude_path tcc_add_include_path Also there are new configure variables CONFIG_TCC_LIBPATH CONFIG_TCC_SYSINCLUDE_PATHS which define the lib/sysinclude paths all in one and can be overridden from configure/make For TCC_TARGET_PE semicolons (;) are used as separators Also, \b in the path string is replaced by s->tcc_lib_path (CONFIG_TCCDIR rsp. -B option)
Diffstat (limited to 'tccgen.c')
-rw-r--r--tccgen.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/tccgen.c b/tccgen.c
index e488c65..2df5de5 100644
--- a/tccgen.c
+++ b/tccgen.c
@@ -90,6 +90,15 @@ ST_INLN int is_float(int t)
return bt == VT_LDOUBLE || bt == VT_DOUBLE || bt == VT_FLOAT;
}
+/* we use our own 'finite' function to avoid potential problems with
+ non standard math libs */
+/* XXX: endianness dependent */
+ST_FUNC int ieee_finite(double d)
+{
+ int *p = (int *)&d;
+ return ((unsigned)((p[1] | 0x800fffff) + 1)) >> 31;
+}
+
ST_FUNC void test_lvalue(void)
{
if (!(vtop->r & VT_LVAL))