diff options
author | unknown <ramil@mysql.com> | 2005-07-14 20:19:27 +0500 |
---|---|---|
committer | unknown <ramil@mysql.com> | 2005-07-14 20:19:27 +0500 |
commit | 2a6e45b0b8067c53da54a420fd259e98de4e12b6 (patch) | |
tree | 83ffc8d70cb1bcc584fe6e14ed35c5a4e6805c24 /tests | |
parent | c0bcf503f5307309104ca4efe4ddbd75fd671e8f (diff) | |
download | mariadb-git-2a6e45b0b8067c53da54a420fd259e98de4e12b6.tar.gz |
fix for #11808 backported.
tests/mysql_client_test.c:
fix for #11808 backported.
cmp_double() introduced in order to avoid using long double registers
(for local double vars).
Diffstat (limited to 'tests')
-rw-r--r-- | tests/mysql_client_test.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index dbee6e77e4f..94295eeb38a 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -166,6 +166,14 @@ DIE_UNLESS(stmt == 0);\ #define mytest_r(x) if (x) {myerror(NULL);DIE_UNLESS(FALSE);} +/* A workaround for Sun Forte 5.6 on Solaris x86 */ + +static int cmp_double(double *a, double *b) +{ + return *a == *b; +} + + /* Print the error message */ static void print_error(const char *msg) @@ -1396,7 +1404,7 @@ static void test_prepare() DIE_UNLESS(real_data == o_real_data); DIE_UNLESS(length[5] == 4); - DIE_UNLESS(double_data == o_double_data); + DIE_UNLESS(cmp_double(&double_data, &o_double_data)); DIE_UNLESS(length[6] == 8); DIE_UNLESS(strcmp(data, str_data) == 0); @@ -9583,7 +9591,7 @@ static void test_bug3035() uint32 uint32_val; longlong int64_val; ulonglong uint64_val; - double double_val, udouble_val; + double double_val, udouble_val, double_tmp; char longlong_as_string[22], ulonglong_as_string[22]; /* mins and maxes */ @@ -9727,7 +9735,8 @@ static void test_bug3035() DIE_UNLESS(int64_val == int64_min); DIE_UNLESS(uint64_val == uint64_min); DIE_UNLESS(double_val == (longlong) uint64_min); - DIE_UNLESS(udouble_val == ulonglong2double(uint64_val)); + double_tmp= ulonglong2double(uint64_val); + DIE_UNLESS(cmp_double(&udouble_val, &double_tmp)); DIE_UNLESS(!strcmp(longlong_as_string, "0")); DIE_UNLESS(!strcmp(ulonglong_as_string, "0")); @@ -9743,7 +9752,8 @@ static void test_bug3035() DIE_UNLESS(int64_val == int64_max); DIE_UNLESS(uint64_val == uint64_max); DIE_UNLESS(double_val == (longlong) uint64_val); - DIE_UNLESS(udouble_val == ulonglong2double(uint64_val)); + double_tmp= ulonglong2double(uint64_val); + DIE_UNLESS(cmp_double(&udouble_val, &double_tmp)); DIE_UNLESS(!strcmp(longlong_as_string, "-1")); DIE_UNLESS(!strcmp(ulonglong_as_string, "18446744073709551615")); |