diff --git a/msvc/c/Makefile b/msvc/c/Makefile index 656f2f210..28143bb5e 100755 --- a/msvc/c/Makefile +++ b/msvc/c/Makefile @@ -5,10 +5,8 @@ top_srcdir = ..\..\src srcdir = ..\..\src\c !if "$(ECL_WIN64)" != "" -ECL_FFI_OBJ= ECL_FPE_CODE=fpe_none.c !else -ECL_FFI_OBJ=ffi_x86.obj ECL_FPE_CODE=fpe_x86.c !endif @@ -103,7 +101,7 @@ OBJS = main.obj symbol.obj package.obj cons.obj list.obj\ mapfun.obj multival.obj hash.obj format.obj pathname.obj\ structure.obj load.obj unixfsys.obj unixsys.obj \ ffi.obj alloc_2.obj tcp.obj $(THREADS_OBJ) serialize.obj \ - $(ECL_FFI_OBJ) $(ECL_UCD_OBJ) $(ECL_SSE_OBJ) + $(ECL_UCD_OBJ) $(ECL_SSE_OBJ) all: $(DPP) ..\eclmin.lib ..\cinit.obj diff --git a/msvc/ecl/config.h.msvc6 b/msvc/ecl/config.h.msvc6 index 28b774747..cef0825ec 100755 --- a/msvc/ecl/config.h.msvc6 +++ b/msvc/ecl/config.h.msvc6 @@ -417,14 +417,14 @@ typedef unsigned int uint32_t; # define stack_align(n) (((n) + 03) & ~03) #endif -/* #undef FILE_CNT */ +#undef FILE_CNT #if 0 == 1 # define FILE_CNT(fp) ((fp)->_IO_read_end - (fp)->_IO_read_ptr) #endif #if 0 == 2 # define FILE_CNT(fp) ((fp)->_r) #endif -#if 3 == 3 +#if ( defined(_MSC_VER) && (_MSC_VER < 1900) ) && 3 == 3 # define FILE_CNT(fp) ((fp)->_cnt) #endif @@ -447,7 +447,9 @@ typedef unsigned int uint32_t; #endif #define strcasecmp _stricmp +#if defined(_MSC_VER) && (_MSC_VER < 1900) #define isnan _isnan +#endif #define finite _finite #define sleep _sleep diff --git a/src/c/compiler.d b/src/c/compiler.d index 256da6547..9e26b6f00 100644 --- a/src/c/compiler.d +++ b/src/c/compiler.d @@ -2920,7 +2920,7 @@ si_process_lambda_list(cl_object org_lambda_list, cl_object context) if ((nreq+nopt+(!Null(rest))+nkey) >= ECL_CALL_ARGUMENTS_LIMIT) FEprogram_error_noreturn("LAMBDA: Argument list ist too long, ~S.", 1, org_lambda_list); - @(return CONS(ecl_make_fixnum(nreq), lists[0]); + @(return CONS(ecl_make_fixnum(nreq), lists[0]) CONS(ecl_make_fixnum(nopt), lists[1]) rest key_flag diff --git a/src/c/num_rand.d b/src/c/num_rand.d index 92bb45885..cefb267d2 100644 --- a/src/c/num_rand.d +++ b/src/c/num_rand.d @@ -50,10 +50,10 @@ cl_object init_genrand(ulong seed) { + int j; cl_object array = ecl_alloc_simple_vector((MT_N + 1), ecl_aet_b64); ulong *mt = array->vector.self.b64; mt[0] = seed; - int j; for (j=1; j> 62)) + j); @@ -281,6 +281,9 @@ cl_object ecl_make_random_state(cl_object rs) { cl_object z = ecl_alloc_object(t_random); + const char *type + = "(OR RANDOM-STATE FIXNUM (MEMBER T NIL))"; + if (rs == ECL_T) { z->random.value = init_random_state(); return z; @@ -294,8 +297,6 @@ ecl_make_random_state(cl_object rs) return z; } - const char *type - = "(OR RANDOM-STATE FIXNUM (MEMBER T NIL))"; FEwrong_type_only_arg(@[make-random-state], rs, ecl_read_from_cstring(type)); } diff --git a/src/h/ecl.h b/src/h/ecl.h index 6d3ce7800..cc7140e16 100644 --- a/src/h/ecl.h +++ b/src/h/ecl.h @@ -28,7 +28,7 @@ #include /* setjmp and buffers */ #include /* FILE */ /* Microsoft VC++ does not have va_copy() */ -#if defined(_MSC_VER) || !defined(va_copy) +#if ( defined(_MSC_VER) && (_MSC_VER < 1900) ) || !defined(va_copy) #define va_copy(dst, src) \ ((void) memcpy(&(dst), &(src), sizeof(va_list))) #endif