Обсуждение: pgsql: A few fixups in error handling: mark pg_re_throw() as noreturn
pgsql: A few fixups in error handling: mark pg_re_throw() as noreturn
От
tgl@postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
A few fixups in error handling: mark pg_re_throw() as noreturn for gcc,
and for other compilers, insert a dummy exit() call so that they understand
PG_RE_THROW() doesn't return. Insert fflush(stderr) in ExceptionalCondition,
per recent buildfarm evidence that that might not happen automatically on some
platforms. And const-ify ExceptionalCondition's declaration while at it.
Modified Files:
--------------
pgsql/src/backend/utils/error:
assert.c (r1.33 -> r1.34)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/error/assert.c.diff?r1=1.33&r2=1.34)
elog.c (r1.184 -> r1.185)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/error/elog.c.diff?r1=1.184&r2=1.185)
pgsql/src/include:
postgres.h (r1.79 -> r1.80)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/postgres.h.diff?r1=1.79&r2=1.80)
pgsql/src/include/utils:
elog.h (r1.85 -> r1.86)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/elog.h.diff?r1=1.85&r2=1.86)
Do we want to add other compiler specific fixes, such as the MSVC one? Should be easy enough to do if we want to... //Magnus On Thu, May 03, 2007 at 11:01:02PM -0300, Tom Lane wrote: > Log Message: > ----------- > A few fixups in error handling: mark pg_re_throw() as noreturn for gcc, > and for other compilers, insert a dummy exit() call so that they understand > PG_RE_THROW() doesn't return. Insert fflush(stderr) in ExceptionalCondition, > per recent buildfarm evidence that that might not happen automatically on some > platforms. And const-ify ExceptionalCondition's declaration while at it. > > Modified Files: > -------------- > pgsql/src/backend/utils/error: > assert.c (r1.33 -> r1.34) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/error/assert.c.diff?r1=1.33&r2=1.34) > elog.c (r1.184 -> r1.185) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/error/elog.c.diff?r1=1.184&r2=1.185) > pgsql/src/include: > postgres.h (r1.79 -> r1.80) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/postgres.h.diff?r1=1.79&r2=1.80) > pgsql/src/include/utils: > elog.h (r1.85 -> r1.86) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/elog.h.diff?r1=1.85&r2=1.86) > > ---------------------------(end of broadcast)--------------------------- > TIP 7: You can help support the PostgreSQL project by donating at > > http://www.postgresql.org/about/donate
Magnus Hagander <magnus@hagander.net> writes:
> Do we want to add other compiler specific fixes, such as the MSVC one?
Didn't see much point; the exit() call is useless but shouldn't add much
code bloat. The only reason I bothered to special-case gcc is that so
many of us use it.
regards, tom lane