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)