Bruno Haible wrote:
Tom G. Christensen wrote:
I see the same test failure when building m4-1.4.11 on Irix 5.3 and 6.2
regardless of compiler used.
Irix 6.2 with MIPSpro 7.3.0 or GCC 4.3.0 (Indigo2 R10K):
test-vasprintf-posix.c:1309: assertion failed
/bin/ksh[9]: 10221 Abort(coredump)
FAIL: test-vasprintf-posix
Irix 5.3 with IDO 5.3 or GCC 3.4.6 (Indy R4600):
test-vasprintf-posix.c:1309: assertion failed
/bin/ksh[9]: 8508 Abort(coredump)
FAIL: test-vasprintf-posix
Thanks for the report. Can you help debugging it?
>
I can try.
- Does 1.0 / -0.0 < 0 evaluate to true or false?
- Does 1.0L / -0.0L < 0 evaluate to true or false?
>
I used this snippet to test:
#include <stdio.h>
int main()
{
if ((1.0 / -0.0) < 0)
printf("true\n");
if ((1.0L / -0.0L) < 0)
printf("true\n");
}
For Irix 6.2 with SGI cc I get:
$ cc zero.c
cc-1195 cc: WARNING File = zero.c, Line = 4
The indicated floating-point operation result is out of range.
if ((1.0 / -0.0) < 0)
^
cc-1195 cc: WARNING File = zero.c, Line = 6
The indicated floating-point operation result is out of range.
if ((1.0L / -0.0L) < 0)
^
$ ./a.out
true
true
$
Results are the same for GCC 4.3.0
And the same run on Irix 5.3 with SGI cc:
$ cc zero.c
$ ./a.out
true
true
$
Again results are the same with GCC 3.4.6
- At test-vasprintf-posix.c:1309, what is the resulting string?
>
On both 5.3 and 6.2:
0.000000 33
- When you single-step from test-vasprintf-posix.c:1304 or :1305 on,
where is the '-' sign dropped?
I'm not sure what I should be looking for?
I've attempted to single-step as requested but I might not be printing
the right thing.
This is on Irix 6.2:
dbx version 7.3 MR 55458_Apr30_MR Apr 30 1999 13:44:41
Executable
/usr/people/tgc/build/athena-buildpkg/buildpkg/m4/src/m4-1.4.11/tests/test-vasprintf-posix
(dbx) stop at 1305
Process 0: [3] stop at
"/usr/people/tgc/build/athena-buildpkg/buildpkg/m4/src/m4-1.4.11/tests/test-vasprintf-posix.c":1305
(dbx) run
Process 1047 (test-vasprintf-posix) started
[3] Process 1047 (test-vasprintf-posix) stopped at [test_function:1305
,0x10008f3c]
1305 int retval =
(dbx) print result
(nil)
(dbx) step
Process 1047 (test-vasprintf-posix) stopped at [my_asprintf:3359
,0x100146c8]
3359 va_start (args, format);
(dbx) print result
0x7ffb66a4
(dbx) step
Process 1047 (test-vasprintf-posix) stopped at [my_asprintf:3360
,0x100146d0]
3360 ret = vasprintf (result, format, args);
(dbx) print result
0x7ffb66a4
(dbx) step
Process 1047 (test-vasprintf-posix) stopped at [vasprintf:37 ,0x100147f4]
37 char *result = vasnprintf (NULL, &length, format, args);
(dbx) print result
0x100251f0 = "0.000000 33"
(dbx) step
Process 1047 (test-vasprintf-posix) stopped at [vasnprintf:1416
,0x10014c04]
1416 if (PRINTF_PARSE (format, &d, &a) < 0)
(dbx)
I get the same results with dbx on Irix 5.3.
-tgc
_______________________________________________
Bug-m4 mailing list
Bug-m4@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-m4