aboutsummaryrefslogtreecommitdiff
path: root/libtcc.c
diff options
context:
space:
mode:
authorJames Lyon <jamesly0n@hotmail.com>2013-04-25 22:30:53 +0100
committerJames Lyon <jamesly0n@hotmail.com>2013-04-25 22:30:53 +0100
commit1caee8ab3b6c3cf3ceb06d1ec4a5e09e2d90c543 (patch)
tree8030bbd2960b6951864d1bc21d634d6a95379196 /libtcc.c
parente7a7efed11792e0dbc14a66b02fa7b25886f69d8 (diff)
downloadtinycc-1caee8ab3b6c3cf3ceb06d1ec4a5e09e2d90c543.tar.gz
tinycc-1caee8ab3b6c3cf3ceb06d1ec4a5e09e2d90c543.tar.bz2
Sorted out CMake on x86-64 and fixed silly XMM# bug introduced when working on Win64 stdargs.
I removed the XMM6/7 registers from the register list because they are not used on Win64 however they are necessary for parameter passing on x86-64. I have now restored them but not marked them with RC_FLOAT so they will not be used except for parameter passing.
Diffstat (limited to 'libtcc.c')
-rw-r--r--libtcc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libtcc.c b/libtcc.c
index bf88cc9..f691218 100644
--- a/libtcc.c
+++ b/libtcc.c
@@ -1052,11 +1052,13 @@ LIBTCCAPI void tcc_delete(TCCState *s1)
dynarray_reset(&s1->priv_sections, &s1->nb_priv_sections);
/* free any loaded DLLs */
+#ifdef TCC_IS_NATIVE
for ( i = 0; i < s1->nb_loaded_dlls; i++) {
DLLReference *ref = s1->loaded_dlls[i];
if ( ref->handle )
dlclose(ref->handle);
}
+#endif
/* free loaded dlls array */
dynarray_reset(&s1->loaded_dlls, &s1->nb_loaded_dlls);