Index: src/checks.h |
=================================================================== |
--- src/checks.h (revision 4014) |
+++ src/checks.h (working copy) |
@@ -80,6 +80,7 @@ |
} |
} |
+ |
// Helper function used by the CHECK_EQ function when given int64_t |
// arguments. Should not be called directly. |
static inline void CheckEqualsHelper(const char* file, int line, |
@@ -202,6 +203,27 @@ |
} |
+static inline void CheckNonEqualsHelper(const char* file, |
+ int line, |
+ const char* expected_source, |
+ double expected, |
+ const char* value_source, |
+ double value) { |
+ // Force values to 64 bit memory to truncate 80 bit precision on IA32. |
+ volatile double* exp = new double[1]; |
+ *exp = expected; |
+ volatile double* val = new double[1]; |
+ *val = value; |
+ if (*exp == *val) { |
+ V8_Fatal(file, line, |
+ "CHECK_NE(%s, %s) failed\n# Value: %f", |
+ expected_source, value_source, *val); |
+ } |
+ delete[] exp; |
+ delete[] val; |
+} |
+ |
+ |
namespace v8 { |
class Value; |
template <class T> class Handle; |