diff --git a/src/builtins.c b/src/builtins.c index 31cdc992a8daa..007c05a3bac57 100644 --- a/src/builtins.c +++ b/src/builtins.c @@ -39,6 +39,8 @@ DLLEXPORT void NORETURN jl_error(const char *str) jl_throw(jl_new_struct(jl_errorexception_type, msg)); } +extern int vasprintf(char **str, const char *fmt, va_list ap); + static void NORETURN jl_vexceptionf(jl_datatype_t *exception_type, const char *fmt, va_list args) { if (exception_type == NULL) { diff --git a/src/codegen.cpp b/src/codegen.cpp index 05ad117c8487a..5d7875ffb3ec5 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -160,6 +160,10 @@ extern void _chkstk(void); #endif } +#if defined(_COMPILER_MICROSOFT_) && !defined(__alignof__) +#define __alignof__ __alignof +#endif + #define DISABLE_FLOAT16 // llvm state @@ -791,7 +795,7 @@ static Function *jl_cfunction_object(jl_function_t *f, jl_value_t *rt, jl_value_ uint64_t isref = 0; // bit vector of which argument types are a subtype of Type{Ref{T}} jl_value_t *sigt; // type signature with Ref{} annotations removed - JL_GC_PUSH(&sigt); + JL_GC_PUSH1(&sigt); sigt = (jl_value_t*)jl_alloc_tuple(nargs); for (i = 0; i < nargs; i++) { jl_value_t *ati = jl_tupleref(argt, i); diff --git a/src/dump.c b/src/dump.c index a15de669987d3..aca39b0b668cb 100644 --- a/src/dump.c +++ b/src/dump.c @@ -5,8 +5,6 @@ #include #include -#include "valgrind.h" - #include "julia.h" #include "julia_internal.h" #include "builtin_proto.h" @@ -15,6 +13,12 @@ #include #endif +#ifndef _COMPILER_MICROSOFT_ +#include "valgrind.h" +#else +#define RUNNING_ON_VALGRIND 0 +#endif + #ifdef __cplusplus extern "C" { #endif diff --git a/src/jl_uv.c b/src/jl_uv.c index 1ae7e5afd9494..0395d3a3b3602 100644 --- a/src/jl_uv.c +++ b/src/jl_uv.c @@ -29,6 +29,11 @@ #include "support/ios.h" #include "uv.h" +#if defined(_COMPILER_MICROSOFT_) && !defined(write) +#include +#define write _write +#endif + #ifdef __cplusplus #include extern "C" { diff --git a/src/support/dtypes.h b/src/support/dtypes.h index a09d517895775..9ccb64151dc46 100644 --- a/src/support/dtypes.h +++ b/src/support/dtypes.h @@ -37,10 +37,6 @@ #endif /* !_COMPILER_MINGW_ */ -#if defined(_COMPILER_MICROSOFT_) -#define isnan _isnan -#endif /* _COMPILER_MICROSOFT_ */ - #endif /* _OS_WINDOWS_ */ diff --git a/src/task.c b/src/task.c index 15de40c7d1c70..a3d592e22616e 100644 --- a/src/task.c +++ b/src/task.c @@ -152,7 +152,7 @@ jl_gcframe_t *jl_pgcstack = NULL; #ifdef COPY_STACKS static jl_jmp_buf * volatile jl_jmp_target; -#if defined(_CPU_X86_64_) || defined(_CPU_X86_) +#if (defined(_CPU_X86_64_) || defined(_CPU_X86_)) && !defined(_COMPILER_MICROSOFT_) #define ASM_COPY_STACKS #endif void *jl_stackbase;