diff --git a/gen/tocall.cpp b/gen/tocall.cpp index 7db23bb6..c187493e 100644 --- a/gen/tocall.cpp +++ b/gen/tocall.cpp @@ -39,7 +39,9 @@ unsigned DtoCallingConv(LINK l) return llvm::CallingConv::C; else if (l == LINKd || l == LINKdefault) { - if (global.params.cpu == ARCHx86) + //TODO: StdCall is not a good base on Windows due to extra name mangling + // applied there + if (global.params.cpu == ARCHx86 && !global.params.os == OSWindows) return llvm::CallingConv::X86_StdCall; else return llvm::CallingConv::Fast;