Mercurial > flash_v2
diff packages/kernel/current/tests/fptest.c @ 1596:df01feb2f050
* tests/fptest.c (do_test): Silence aliasing warning when breaking
doubles into two ints.
| author | jlarmour |
|---|---|
| date | Fri, 16 Apr 2004 03:33:59 +0000 |
| parents | 92cf4ff674de |
| children |
line wrap: on
line diff
--- a/packages/kernel/current/tests/fptest.c +++ b/packages/kernel/current/tests/fptest.c @@ -173,12 +173,21 @@ static void do_test( double *values, if( sum != last_sum ) { + union double_int_union { + double d; + cyg_uint32 i[2]; + } diu_sum, diu_lastsum; + + diu_sum.d = sum; + diu_lastsum.d = last_sum; + errors++; + if (sizeof(double) != 2*sizeof(cyg_uint32)) { + diag_printf("Warning: sizeof(double) != 2*sizeof(cyg_uint32), therefore next line may\n" + "have invalid sum/last_sum values\n"); + } diag_printf("%s: Sum mismatch! %d sum=[%08x:%08x] last_sum=[%08x:%08x]\n", - name,j, - ((cyg_uint32 *)&sum)[0],((cyg_uint32 *)&sum)[1], - ((cyg_uint32 *)&last_sum)[0],((cyg_uint32 *)&last_sum)[1] - ); + name,j, diu_sum.i[0], diu_sum.i[1], diu_lastsum.i[0], diu_lastsum.i[1] ); } #if 0
