Commit 062ef05b authored by erik.corry@gmail.com's avatar erik.corry@gmail.com

Fix failing test caused by extra precision in register allocated fp values.

Review URL: http://codereview.chromium.org/5019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 0f37bdb5
...@@ -164,11 +164,18 @@ static inline void CheckEqualsHelper(const char* file, ...@@ -164,11 +164,18 @@ static inline void CheckEqualsHelper(const char* file,
double expected, double expected,
const char* value_source, const char* value_source,
double value) { double value) {
if (expected != 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, V8_Fatal(file, line,
"CHECK_EQ(%s, %s) failed\n# Expected: %f\n# Found: %f", "CHECK_EQ(%s, %s) failed\n# Expected: %f\n# Found: %f",
expected_source, value_source, expected, value); expected_source, value_source, *exp, *val);
} }
delete[] exp;
delete[] val;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment