Martijn van Oosterhout wrote:
On Tue, Mar 07, 2006 at 05:39:18PM -0500, Tom Lane wrote:

Martijn van Oosterhout <kleptog@svana.org> writes:

#ifdef STATIC_ANALYSIS
#define ereport(elevel, rest)  \
       (errstart(elevel, __FILE__, __LINE__, PG_FUNCNAME_MACRO) ? \
        (errfinish rest) : (void) 0), (elevel >= ERROR ? exit(0) : 0)
#else
/* Normal def */
#endif

Hmm, neat idea ... though I wonder whether either gcc or Coverity's tool
is smart enough to draw the right conclusions from a conditional exit()
call ...


As for Coverity, if the elevel that's passed to the ereport is really a constant, the above #ifdef should absolutely do the trick for us so we know to stop analyzing on that path...Let me know if it doesn't actually do that ;)

-ben


---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

              http://www.postgresql.org/docs/faq

Reply via email to