Mercurial > projects > ldc
comparison gen/llvmhelpers.h @ 524:ca2dfe98036c
Binary ops had the wrong result type for real op imaginary.
Fixes:
run/creal_03
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sun, 17 Aug 2008 12:21:53 +0200 |
parents | 837af2a63564 |
children | cecfee2d01a8 |
comparison
equal
deleted
inserted
replaced
523:c9a606d6e641 | 524:ca2dfe98036c |
---|---|
93 LLConstant* DtoTypeInfoOf(Type* ty, bool base=true); | 93 LLConstant* DtoTypeInfoOf(Type* ty, bool base=true); |
94 | 94 |
95 // binary operations | 95 // binary operations |
96 DValue* DtoBinAdd(DValue* lhs, DValue* rhs); | 96 DValue* DtoBinAdd(DValue* lhs, DValue* rhs); |
97 DValue* DtoBinSub(DValue* lhs, DValue* rhs); | 97 DValue* DtoBinSub(DValue* lhs, DValue* rhs); |
98 DValue* DtoBinMul(DValue* lhs, DValue* rhs); | 98 // these binops need an explicit result type to handling |
99 DValue* DtoBinDiv(DValue* lhs, DValue* rhs); | 99 // to give 'ifloat op float' and 'float op ifloat' the correct type |
100 DValue* DtoBinRem(DValue* lhs, DValue* rhs); | 100 DValue* DtoBinMul(Type* resulttype, DValue* lhs, DValue* rhs); |
101 DValue* DtoBinDiv(Type* resulttype, DValue* lhs, DValue* rhs); | |
102 DValue* DtoBinRem(Type* resulttype, DValue* lhs, DValue* rhs); | |
101 | 103 |
102 // target stuff | 104 // target stuff |
103 void findDefaultTarget(); | 105 void findDefaultTarget(); |
104 | 106 |
105 /// Converts any value to a boolean (llvm i1) | 107 /// Converts any value to a boolean (llvm i1) |