I recently came across this bug report: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=616180
This relates to a gcc optimisation bug affecting postgresql error handling. (It was reported there in Debian on Sparc in gcc 4.x.) Assumign that the ereport function/macro used there doesn't return, I agree that this is a gcc bug not a postgresql bug. Alex Deiter appears to have tried to report this to gcc upstream: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29968 However, the test program in that bugzilla report is indeed broken. The gcc maintainers were right to reject the bug. I have tried to reproduce the original problem with a smaller test program (see below) than postgresql, but failed (on 32-bit sparc with gcc 4.4.5-8, Debian squeeze). (AIUI we don't have a sparc64 porter box or chroot that I could try.) Regards, Ian. /* t.c */ #include <stdio.h> #include "t.h" int main(int argc, char **argv) { int divisor = atoi(argv[1]); if (!divisor) quit_program(); printf("%d\n", 42/divisor); return 0; } /* u.c */ #include <stdlib.h> void x(void) { strtoul('-1',0,0); } /* t.h */ #include <stdio.h> #include <stdlib.h> void quit_program(void); -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org