diff options
-rw-r--r-- | llvm.cpp | 7 | ||||
-rwxr-xr-x | test.sh | 3 |
2 files changed, 4 insertions, 6 deletions
@@ -96,11 +96,8 @@ struct LLVMEngine : public Engine { FunctionType* fT = FunctionType::get(llType(retT), cprot, false); Function* f = Function::Create(fT, linkage, name, module); - if (f->getName() != name) { - cenv.out << "DIFFERENT NAME: " << f->getName() << endl; - /*f->eraseFromParent(); - throw Error(Cursor(), (format("function `%1%' redefined") % name).str());*/ - } + // Note f->getName() may be different from name + // however LLVM chooses to mangle is fine, we keep a pointer // Set argument names in generated code Function::arg_iterator a = f->arg_begin(); @@ -16,4 +16,5 @@ run() { run './test/ack.tpr' '8189 : Int' run './test/def.tpr' '3 : Int' run './test/fac.tpr' '720 : Int' -#run './test/nest.tpr' '6 : Int' +run './test/poly.tpr' '#t : Bool' +run './test/nest.tpr' '6 : Int' |