aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2010-12-25 09:49:29 +0000
committerDavid Robillard <d@drobilla.net>2010-12-25 09:49:29 +0000
commitbc03a277689380c5c667a192b5e7d2e3799106a7 (patch)
treece3418935b065a534e8b20a3f8e5f5b0b866f826
parent6dec2bd33e6c142664c881405bdc0f9b298e4a11 (diff)
downloadresp-bc03a277689380c5c667a192b5e7d2e3799106a7.tar.gz
resp-bc03a277689380c5c667a192b5e7d2e3799106a7.tar.bz2
resp-bc03a277689380c5c667a192b5e7d2e3799106a7.zip
Use type of primitive rather than type of first argument to determine type of operation.
git-svn-id: http://svn.drobilla.net/resp/resp@349 ad02d1e2-f140-0410-9f75-f8b11f17cedd
-rw-r--r--src/llvm.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/llvm.cpp b/src/llvm.cpp
index 69d421a..11cb846 100644
--- a/src/llvm.cpp
+++ b/src/llvm.cpp
@@ -378,10 +378,10 @@ LLVMEngine::compileIsA(CEnv& cenv, CVal rtti, const ASymbol* tag)
CVal
LLVMEngine::compilePrimitive(CEnv& cenv, const ATuple* prim)
{
- ATuple::const_iterator i = prim->begin();
+ ATuple::const_iterator i = prim->iter_at(1);
LLVMEngine* engine = reinterpret_cast<LLVMEngine*>(cenv.engine());
- bool isFloat = cenv.type(*++i)->str() == "Float";
+ bool isFloat = cenv.type(prim)->str() == "Float";
Value* a = llVal(resp_compile(cenv, *i++));
Value* b = llVal(resp_compile(cenv, *i++));
const string n = prim->head()->to_symbol()->str();