authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-04-06 01:03:30-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-04-06 01:03:30-04:00
logf00adb47f5c2b70496dac1c48f03236271b9bd57
treefeec3e2bebd850b6a56c329031fff5403da62657
parent974977f12f06726d96e751106cc06eb02f6b0147
signaturelock-open Commit is signed but in an unrecognized format.

ir: avoid dependency on isnan

there's a simple way to check for nan that does not need this header. hryx on IRC reported that Linux Mint based on ubuntu 16.04, kernel 4.15.0, x86_64 did not have the isnan function.

1 files changed, 2 insertions(+), 3 deletions(-)

src/ir.cpp+2-3
...@@ -17,7 +17,6 @@...@@ -17,7 +17,6 @@
17#include "util.hpp"17#include "util.hpp"
1818
19#include <errno.h>19#include <errno.h>
20#include <math.h>
2120
22struct IrExecContext {21struct IrExecContext {
23 ZigList<ConstExprValue *> mem_slot_list;22 ZigList<ConstExprValue *> mem_slot_list;
...@@ -8251,9 +8250,9 @@ static bool float_is_nan(ConstExprValue *op) {...@@ -8251,9 +8250,9 @@ static bool float_is_nan(ConstExprValue *op) {
8251 case 16:8250 case 16:
8252 return f16_isSignalingNaN(op->data.x_f16);8251 return f16_isSignalingNaN(op->data.x_f16);
8253 case 32:8252 case 32:
8254 return isnan(op->data.x_f32);8253 return op->data.x_f32 != op->data.x_f32;
8255 case 64:8254 case 64:
8256 return isnan(op->data.x_f64);8255 return op->data.x_f64 != op->data.x_f64;
8257 case 128:8256 case 128:
8258 return f128M_isSignalingNaN(&op->data.x_f128);8257 return f128M_isSignalingNaN(&op->data.x_f128);
8259 default:8258 default: