Commit a40d09e2 authored by Alvaro Herrera's avatar Alvaro Herrera

Move ExceptionalCondition back to postgres.h

It needs to be defined in the backend even when assertions are not
enabled.  It's cleaner to put it back, than create a separate #ifdef
section in c.h.

Per trouble report from Jeff Janes
parent 187492b6
...@@ -619,10 +619,6 @@ typedef NameData *Name; ...@@ -619,10 +619,6 @@ typedef NameData *Name;
#define AssertState(condition) \ #define AssertState(condition) \
Trap(!(condition), "BadState") Trap(!(condition), "BadState")
extern void ExceptionalCondition(const char *conditionName,
const char *errorType,
const char *fileName, int lineNumber) __attribute__((noreturn));
#endif /* USE_ASSERT_CHECKING && !FRONTEND */ #endif /* USE_ASSERT_CHECKING && !FRONTEND */
......
...@@ -639,9 +639,15 @@ extern Datum Float8GetDatum(float8 X); ...@@ -639,9 +639,15 @@ extern Datum Float8GetDatum(float8 X);
*/ */
/* /*
* This declaration supports the assertion-related macros in c.h. This is here * These declarations supports the assertion-related macros in c.h.
* because that file doesn't have PGDLLIMPORT in the right place. * assert_enabled is here because that file doesn't have PGDLLIMPORT in the
* right place, and ExceptionalCondition must be present, for the backend only,
* even when assertions are not enabled.
*/ */
extern PGDLLIMPORT bool assert_enabled; extern PGDLLIMPORT bool assert_enabled;
extern void ExceptionalCondition(const char *conditionName,
const char *errorType,
const char *fileName, int lineNumber) __attribute__((noreturn));
#endif /* POSTGRES_H */ #endif /* POSTGRES_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment