changeset 121:95dfe2f48dcf

Allow == and != on reals
author Anders Halager <halager@gmail.com>
date Sun, 25 May 2008 20:30:09 +0200
parents 7d0898f77685
children 2d6556f72afb 6a5f745d351c
files gen/CodeGen.d
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/gen/CodeGen.d	Sun May 25 20:18:55 2008 +0200
+++ b/gen/CodeGen.d	Sun May 25 20:30:09 2008 +0200
@@ -415,6 +415,11 @@
                 case BO.FRem: res = b.buildFRem(left, right, "rem"); break;
                 default:
                     LLVMPred pred = predFromBI(val);
+                    if (t_a.isReal())
+                        if (val == BO.Eq)
+                            pred = LLVMPred.Real(RealPredicate.OEQ);
+                        else if (val == BO.Ne)
+                            pred = LLVMPred.Real(RealPredicate.ONE);
                     IntPredicate ip = pred.intPred;
                     RealPredicate rp = pred.realPred;
                     assert(pred.isValid, "Not a predicate");