tst-strtod broken
Andreas Jaeger
aj@suse.de
Tue Aug 7 03:14:00 GMT 2001
On i686 with GCC 2.95 I just got:
tst-strtod.c:68: initializer element is not constant
tst-strtod.c:68: (near initialization for `tests[27].expect')
tst-strtod.c:69: initializer element is not constant
tst-strtod.c:69: (near initialization for `tests[28].expect')
tst-strtod.c:70: initializer element is not constant
tst-strtod.c:70: (near initialization for `tests[29].expect')
The line:
{ "Inf", HUGE_VAL, '\0', 0 },
gets expanded with GCC 2.95 to:
{ "Inf", (__extension__ ((union { unsigned char __c[8]; double __d; } ) { __c: { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f } }).__d) , '\0', 0 },
the easiest fix is to disable the tests for GCC 2.95.
Ok to commit?
Andreas
2001-08-07 Andreas Jaeger <aj@suse.de>
* stdlib/tst-strtod.c: Disable HUGE_VAL tests for older GCCs.
============================================================
Index: stdlib/tst-strtod.c
--- stdlib/tst-strtod.c 2001/08/07 04:32:18 1.19
+++ stdlib/tst-strtod.c 2001/08/07 10:13:53
@@ -65,9 +65,12 @@ static const struct ltest tests[] =
{ "0x0.8p-1022",
1.11253692925360069154511635866620203210960799023116591527666e-308,
'\0', 0 },
+#if __GNUC_PREREQ(2,96)
+ /* For older GCC release HUGE_VAL is not a constant. */
{ "Inf", HUGE_VAL, '\0', 0 },
{ "-Inf", -HUGE_VAL, '\0', 0 },
{ "+InFiNiTy", HUGE_VAL, '\0', 0 },
+#endif
{ NULL, 0, '\0', 0 }
};
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj
More information about the Libc-hacker
mailing list