diff options
Diffstat (limited to 'src/llvm.cpp')
-rw-r--r-- | src/llvm.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/llvm.cpp b/src/llvm.cpp index cb2d6c1..3f48dec 100644 --- a/src/llvm.cpp +++ b/src/llvm.cpp @@ -157,7 +157,7 @@ LLVMEngine::llType(const AST* t) } return PointerType::get(FunctionType::get(llType(retT), cprot, false), 0); - } else if (AType::is_expr(t) && isupper(t->as_tuple()->head()->str()[0])) { + } else if (AType::is_expr(t) && isupper(t->as_tuple()->fst()->str()[0])) { vector<const Type*> ctypes; ctypes.push_back(PointerType::get(Type::getInt8Ty(context), NULL)); // RTTI for (ATuple::const_iterator i = t->as_tuple()->iter_at(1); i != t->as_tuple()->end(); ++i) { @@ -184,7 +184,7 @@ LLVMEngine::compileCall(CEnv& cenv, CFunc f, const ATuple* funcT, const vector<C { vector<Value*> llArgs(*reinterpret_cast<const vector<Value*>*>(&args)); Value* closure = builder.CreateBitCast(llArgs[0], - llType(funcT->prot()->head()), + llType(funcT->prot()->fst()), cenv.penv.gensymstr("you")); llArgs[0] = closure; return builder.CreateCall(llFunc(f), llArgs.begin(), llArgs.end()); @@ -372,7 +372,7 @@ LLVMEngine::compilePrimitive(CEnv& cenv, const ATuple* prim) 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(); + const string n = prim->fst()->to_symbol()->str(); // Binary arithmetic operations Instruction::BinaryOps op = (Instruction::BinaryOps)0; |