summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZack Middleton <zturtleman@gmail.com>2012-06-19 14:57:51 +0000
committerTim Angus <tim@ngus.net>2013-01-12 20:33:26 +0000
commit202d814e20e0615d602247a1e3bf3bf2d82128c5 (patch)
treeee065b57e37bd9868d1c0831519236b2312a3f37 /src
parente02070ca602612066277e8544efa7a4f4570ac3d (diff)
when interacting with QVMs, Clang/LLVM requires the standard use of the va_*() macros instead of (fast) call hacks
From /dev/humancontroller.
Diffstat (limited to 'src')
-rw-r--r--src/qcommon/vm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/qcommon/vm.c b/src/qcommon/vm.c
index b7860896..8d959038 100644
--- a/src/qcommon/vm.c
+++ b/src/qcommon/vm.c
@@ -337,7 +337,7 @@ Dlls will call this directly
============
*/
intptr_t QDECL VM_DllSyscall( intptr_t arg, ... ) {
-#if !id386
+#if !id386 || defined __clang__
// rcg010206 - see commentary above
intptr_t args[16];
int i;
@@ -836,7 +836,7 @@ intptr_t QDECL VM_Call( vm_t *vm, int callnum, ... )
args[4], args[5], args[6], args[7],
args[8], args[9]);
} else {
-#if id386 || idsparc // i386/sparc calling convention doesn't need conversion
+#if ( id386 || idsparc ) && !defined __clang__ // calling convention doesn't need conversion in some cases
#ifndef NO_VM_COMPILED
if ( vm->compiled )
r = VM_CallCompiled( vm, (int*)&callnum );