Ian Jackson <ijack...@chiark.greenend.org.uk> writes: > 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.
Well, that's what I think anyway ;-) > 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. Hm --- it's a bit questionable. The test execution appears to show that the side-effect of program abort happens before the printf call; but depending on how much buffering of stdout is happening, it might not really prove that. Your version is a lot more conclusive, at least as far as Postgres' issue is concerned, because in our case we know the ereport() function won't return. > 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). I wonder whether the gcc folk reconsidered and fixed the problem somewhere between 4.1.x and 4.4.x. I've seen them reverse course before on what was or wasn't a bug. regards, tom lane -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org