aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/ExecutionEngine
diff options
context:
space:
mode:
authorBrian Gaeke <gaeke@uiuc.edu>2004-02-25 23:01:48 +0000
committerBrian Gaeke <gaeke@uiuc.edu>2004-02-25 23:01:48 +0000
commit9d20b71ecaffbda5311dfc486b0143d4a94cc502 (patch)
tree54c16b6130671f8df3a14a8a94084749a4f216de /include/llvm/ExecutionEngine
parent367b91d1bd0a6abf6dbf4052ff3125e485a154f8 (diff)
downloadexternal_llvm-9d20b71ecaffbda5311dfc486b0143d4a94cc502.zip
external_llvm-9d20b71ecaffbda5311dfc486b0143d4a94cc502.tar.gz
external_llvm-9d20b71ecaffbda5311dfc486b0143d4a94cc502.tar.bz2
Represent va_list in interpreter as a (ec-stack-depth . var-arg-index)
pair, and look up varargs in the execution stack every time, instead of just pushing iterators (which can be invalidated during callFunction()) around. (union GenericValue now has a "pair of uints" member, to support this mechanism.) Fixes Bug 234. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11845 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ExecutionEngine')
-rw-r--r--include/llvm/ExecutionEngine/GenericValue.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/llvm/ExecutionEngine/GenericValue.h b/include/llvm/ExecutionEngine/GenericValue.h
index 3fb66a1..7cf1a7b 100644
--- a/include/llvm/ExecutionEngine/GenericValue.h
+++ b/include/llvm/ExecutionEngine/GenericValue.h
@@ -33,6 +33,7 @@ union GenericValue {
int64_t LongVal;
double DoubleVal;
float FloatVal;
+ struct { unsigned int first; unsigned int second; } UIntPairVal;
PointerTy PointerVal;
unsigned char Untyped[8];