summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorArne Döring <arne.doering@gmx.net>2018-11-08 20:17:37 +0100
committerGitHub <noreply@github.com>2018-11-08 20:17:37 +0100
commit6a57ec6d2ea85ebc279eaf0bea4efd81da8b6a06 (patch)
treed01b6b0c39bd6be4b32a69dc393ad08feaa28984 /compiler
parent3cf3c2d722775ee3fc265e1c53733645277171e5 (diff)
downloadNim-6a57ec6d2ea85ebc279eaf0bea4efd81da8b6a06.tar.gz
NaN fixes for clang backend (#9652)
Diffstat (limited to 'compiler')
-rw-r--r--compiler/semfold.nim7
1 files changed, 1 insertions, 6 deletions
diff --git a/compiler/semfold.nim b/compiler/semfold.nim
index d9bec5e41..5ec702257 100644
--- a/compiler/semfold.nim
+++ b/compiler/semfold.nim
@@ -267,12 +267,7 @@ proc evalOp(m: TMagic, n, a, b, c: PNode; g: ModuleGraph): PNode =
   of mSubF64: result = newFloatNodeT(getFloat(a) - getFloat(b), n, g)
   of mMulF64: result = newFloatNodeT(getFloat(a) * getFloat(b), n, g)
   of mDivF64:
-    if getFloat(b) == 0.0:
-      if getFloat(a) == 0.0: result = newFloatNodeT(NaN, n, g)
-      elif getFloat(b).classify == fcNegZero: result = newFloatNodeT(-Inf, n, g)
-      else: result = newFloatNodeT(Inf, n, g)
-    else:
-      result = newFloatNodeT(getFloat(a) / getFloat(b), n, g)
+    result = newFloatNodeT(getFloat(a) / getFloat(b), n, g)
   of mMaxF64:
     if getFloat(a) > getFloat(b): result = newFloatNodeT(getFloat(a), n, g)
     else: result = newFloatNodeT(getFloat(b), n, g)