Mercurial > projects > ldc
diff gen/tocall.cpp @ 933:d3a6f1a96731
Replace assertion with errormessage for unsupported calling conventions. like Pascal. See dstress/run/e/extern_10_A.d
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Wed, 04 Feb 2009 00:04:09 +0100 |
parents | 7985bb036db4 |
children | cac9895be400 |
line wrap: on
line diff
--- a/gen/tocall.cpp Tue Feb 03 23:48:47 2009 +0100 +++ b/gen/tocall.cpp Wed Feb 04 00:04:09 2009 +0100 @@ -33,7 +33,7 @@ ////////////////////////////////////////////////////////////////////////////////////////// -unsigned DtoCallingConv(LINK l) +unsigned DtoCallingConv(Loc loc, LINK l) { if (l == LINKc || l == LINKcpp || l == LINKintrinsic) return llvm::CallingConv::C; @@ -50,7 +50,10 @@ else if (l == LINKwindows) return llvm::CallingConv::X86_StdCall; else - assert(0 && "Unsupported calling convention"); + { + error(loc, "unsupported calling convention"); + fatal(); + } } ////////////////////////////////////////////////////////////////////////////////////////// @@ -235,7 +238,7 @@ bool nestedcall = tf->usesNest; bool dvarargs = (tf->linkage == LINKd && tf->varargs == 1); - unsigned callconv = DtoCallingConv(tf->linkage); + unsigned callconv = DtoCallingConv(loc, tf->linkage); // get callee llvm value LLValue* callable = DtoCallableValue(fnval);