comparison gen/arrays.cpp @ 275:665b81613475 trunk

[svn r296] Removed: the 'suite' dir, it never took off! Fixed: foreach statement, key-type checks were buggy. Fixed: setting LLVMDC versions on the command line is now an error. Fixed: array compare runtime had incorrect param attrs on call. Fixed: index expressions on dynamic array slices w/o storage was broken. Fixed: scope classes had incorrect finalization in some cases. Fixed: when outputting !ClassInfoS !OffsetTypeInfoS, static class members were trying to be included, crashing the compiler. Fixed: calling LLVMDC with -inline but not any -O option caused assertion failure. Changed: the runtime now uses a single interface to "get" to !TypeInfoS, part of eliminating duplicate !TypeInfo codegen.
author lindquist
date Thu, 19 Jun 2008 17:30:32 +0200
parents a95056b3c996
children 10554729bd02
comparison
equal deleted inserted replaced
274:9f228c1e5311 275:665b81613475
748 748
749 pt = fn->getFunctionType()->getParamType(2); 749 pt = fn->getFunctionType()->getParamType(2);
750 args.push_back(DtoBitCast(tival, pt)); 750 args.push_back(DtoBitCast(tival, pt));
751 } 751 }
752 752
753 return gIR->ir->CreateCall(fn, args.begin(), args.end(), "tmp"); 753 llvm::CallInst* call = gIR->ir->CreateCall(fn, args.begin(), args.end(), "tmp");
754
755 // set param attrs
756 llvm::PAListPtr palist;
757 palist = palist.addAttr(1, llvm::ParamAttr::ByVal);
758 palist = palist.addAttr(2, llvm::ParamAttr::ByVal);
759 call->setParamAttrs(palist);
760
761 return call;
754 } 762 }
755 763
756 ////////////////////////////////////////////////////////////////////////////////////////// 764 //////////////////////////////////////////////////////////////////////////////////////////
757 LLValue* DtoArrayEquals(TOK op, DValue* l, DValue* r) 765 LLValue* DtoArrayEquals(TOK op, DValue* l, DValue* r)
758 { 766 {