]> gitweb.factorcode.org Git - factor.git/commitdiff
Fixing compile errors on Windows
authorunknown <Administrator@.(none)>
Tue, 5 May 2009 18:03:24 +0000 (13:03 -0500)
committerunknown <Administrator@.(none)>
Tue, 5 May 2009 18:03:24 +0000 (13:03 -0500)
vm/Config.windows
vm/alien.cpp
vm/os-windows-nt.cpp
vm/os-windows-nt.hpp
vm/os-windows.cpp

index cdb72f4e2403a1f233f0056f009bc5c169fb9eac..b0b1352cb244f96949d6420af3cfd597a62d3758 100644 (file)
@@ -6,5 +6,5 @@ EXE_EXTENSION=.exe
 CONSOLE_EXTENSION=.com
 DLL_EXTENSION=.dll
 SHARED_DLL_EXTENSION=.dll
-LINKER = $(CC) -shared -mno-cygwin -o 
+LINKER = $(CPP) -shared -mno-cygwin -o 
 LINK_WITH_ENGINE = -l$(DLL_PREFIX)factor$(DLL_SUFFIX)
index 06dee31a14a2f1b3e796c1ece228f9c8753e7c43..1eb9c5a68d93fc26b32ee47c945f6382827a4fc5 100755 (executable)
@@ -128,7 +128,7 @@ PRIMITIVE(dlsym)
        gc_root<byte_array> name(dpop());
        name.untag_check();
 
-       vm_char *sym = (vm_char *)(name.untagged() + 1);
+       symbol_char *sym = name->data<symbol_char>();
 
        if(library.value() == F)
                box_alien(ffi_dlsym(NULL,sym));
index 0a63dce513ee8bac3df33650aa573a79484edf96..5e0a4c70c65e6022328f230db13b6deee0388bb6 100755 (executable)
@@ -17,7 +17,7 @@ long exception_handler(PEXCEPTION_POINTERS pe)
        CONTEXT *c = (CONTEXT*)pe->ContextRecord;
 
        if(in_code_heap_p(c->EIP))
-               signal_callstack_top = (void *)c->ESP;
+               signal_callstack_top = (stack_frame *)c->ESP;
        else
                signal_callstack_top = NULL;
 
@@ -43,7 +43,7 @@ long exception_handler(PEXCEPTION_POINTERS pe)
 
 void c_to_factor_toplevel(cell quot)
 {
-       if(!AddVectoredExceptionHandler(0, (void*)exception_handler))
+       if(!AddVectoredExceptionHandler(0, exception_handler))
                fatal_error("AddVectoredExceptionHandler failed", 0);
        c_to_factor(quot);
        RemoveVectoredExceptionHandler((void*)exception_handler);
index 107e42ea2eed6762403940f9371ac49be2ceb03b..2765f0a18056535f584bb6997501396f00f3bd9f 100755 (executable)
@@ -5,8 +5,8 @@
 #define UNICODE
 #endif
 
-#include <shellapi.h>
 #include <windows.h>
+#include <shellapi.h>
 
 namespace factor
 {
index 796a1c718474a0586915c6bd01db53d840f903e9..001b48ab4dbf117b36852057700c1b51b52aa659 100755 (executable)
@@ -14,12 +14,12 @@ void init_ffi(void)
 
 void ffi_dlopen(dll *dll)
 {
-       dll->dll = LoadLibraryEx(alien_offset(dll->path), NULL, 0);
+       dll->dll = LoadLibraryEx((WCHAR *)alien_offset(dll->path), NULL, 0);
 }
 
 void *ffi_dlsym(dll *dll, symbol_char *symbol)
 {
-       return GetProcAddress(dll ? (HMODULE)dll->dll : hFactorDll, symbol);
+       return (void *)GetProcAddress(dll ? (HMODULE)dll->dll : hFactorDll, symbol);
 }
 
 void ffi_dlclose(dll *dll)
@@ -93,7 +93,8 @@ const vm_char *vm_executable_path(void)
 
 PRIMITIVE(existsp)
 {
-       vm_char *path = (vm_char *)(untag_check<byte_array>(dpop()) + 1);
+       vm_char *path = untag_check<byte_array>(dpop())->data<vm_char>();
+       wprintf(L"existsp: path is %s\n",path);
        box_boolean(windows_stat(path));
 }
 
@@ -113,7 +114,7 @@ segment *alloc_segment(cell size)
                getpagesize(), PAGE_NOACCESS, &ignore))
                fatal_error("Cannot allocate high guard page", (cell)mem);
 
-       segment *block = safe_malloc(sizeof(segment));
+       segment *block = (segment *)safe_malloc(sizeof(segment));
 
        block->start = (cell)mem + getpagesize();
        block->size = size;