Dear All,I built PG 8.0 beta1 on an Itanium 2 platform using the Intel compilers
version 8, and got one real difference in the regression tests that affected
int2, int4, union, and numerology. Here's the key difference:
horta postgres 177 > diff -c int4.out ../expected/
*** int4.out Tue Aug 10 18:41:48 2004
--- ../expected/int4.out Wed Mar 10 21:11:13 2004
***************
*** 22,27 ****
--- 22,28 ---- INSERT INTO INT4_TBL(f1) VALUES (' asdf '); ERROR: invalid input syntax for integer: " asdf "
INSERTINTO INT4_TBL(f1) VALUES ('- 1234');
+ ERROR: invalid input syntax for integer: "- 1234" INSERT INTO INT4_TBL(f1) VALUES ('123 5'); ERROR: invalid
inputsyntax for integer: "123 5" INSERT INTO INT4_TBL(f1) VALUES ('');
PG 8.0 beta1 is accepting "- 1234" as a valid integer. Further investigation
reveals that this is a peculiarity of the Intel compilers. The following
program,
#include <stdio.h>
#include <stdlib.h>
main() { char st[] = "- 1234"; int l; char *endp;
l = strtol(st, &endp, 10); printf("l = %d st = %lx endp = %lx\n", l, st, endp);
}
using the Intel compiler provided libraries prints
l = -1234 st = 60000fffffffb720 endp = 60000fffffffb726
whereas gcc and glibc yields
l = 0 st = 60000fffffffb710 endp = 60000fffffffb710
Boo hiss...
+-----------------------------+------------------------------------+
| Robert E. Bruccoleri, Ph.D. | email: bruc@acm.org |
| President, Congenair LLC | URL: http://www.congen.com/~bruc |
| P.O. Box 314 | Phone: 609 818 7251 |
| Pennington, NJ 08534 | |
+-----------------------------+------------------------------------+