Mercurial > projects > ldc
comparison gen/toir.cpp @ 177:cea8dcfa76df trunk
[svn r193] Fixed: abstract classes implementing interfaces now output proper Interface info arrays. (null vtables).
Did a little renaming of delegate utils.
author | lindquist |
---|---|
date | Wed, 07 May 2008 04:45:51 +0200 |
parents | a074a5ff709c |
children | 8873b7f1457e |
comparison
equal
deleted
inserted
replaced
176:a074a5ff709c | 177:cea8dcfa76df |
---|---|
1839 eval = DtoArrayEquals(op,l,r); | 1839 eval = DtoArrayEquals(op,l,r); |
1840 } | 1840 } |
1841 else if (t->ty == Tdelegate) | 1841 else if (t->ty == Tdelegate) |
1842 { | 1842 { |
1843 Logger::println("delegate"); | 1843 Logger::println("delegate"); |
1844 eval = DtoCompareDelegate(op,l->getRVal(),r->getRVal()); | 1844 eval = DtoDelegateCompare(op,l->getRVal(),r->getRVal()); |
1845 } | 1845 } |
1846 else | 1846 else |
1847 { | 1847 { |
1848 assert(0 && "Unsupported EqualExp type"); | 1848 assert(0 && "Unsupported EqualExp type"); |
1849 } | 1849 } |
2331 r = NULL; | 2331 r = NULL; |
2332 } | 2332 } |
2333 else { | 2333 else { |
2334 assert(l->getType() == r->getType()); | 2334 assert(l->getType() == r->getType()); |
2335 } | 2335 } |
2336 eval = DtoDynArrayIs(op,l,r); | 2336 eval = DtoDelegateCompare(op,l,r); |
2337 } | 2337 } |
2338 else if (t1->isfloating()) | 2338 else if (t1->isfloating()) |
2339 { | 2339 { |
2340 llvm::FCmpInst::Predicate pred = (op == TOKidentity) ? llvm::FCmpInst::FCMP_OEQ : llvm::FCmpInst::FCMP_ONE; | 2340 llvm::FCmpInst::Predicate pred = (op == TOKidentity) ? llvm::FCmpInst::FCMP_OEQ : llvm::FCmpInst::FCMP_ONE; |
2341 eval = new llvm::FCmpInst(pred, l, r, "tmp", p->scopebb()); | 2341 eval = new llvm::FCmpInst(pred, l, r, "tmp", p->scopebb()); |