diff options
author | Brian Gaeke <gaeke@uiuc.edu> | 2004-02-25 23:01:48 +0000 |
---|---|---|
committer | Brian Gaeke <gaeke@uiuc.edu> | 2004-02-25 23:01:48 +0000 |
commit | 9d20b71ecaffbda5311dfc486b0143d4a94cc502 (patch) | |
tree | 54c16b6130671f8df3a14a8a94084749a4f216de /include/llvm | |
parent | 367b91d1bd0a6abf6dbf4052ff3125e485a154f8 (diff) | |
download | external_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')
-rw-r--r-- | include/llvm/ExecutionEngine/GenericValue.h | 1 |
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]; |