diff --git a/src/include/utils/elog.h b/src/include/utils/elog.h index f4ff03ec8a1ef30aab2d4c88f33325052bd75832..70dc365465cda5244e8ec291439ce26d34f1f25b 100644 --- a/src/include/utils/elog.h +++ b/src/include/utils/elog.h @@ -206,12 +206,13 @@ extern int getinternalerrposition(void); #else /* !HAVE__BUILTIN_CONSTANT_P */ #define elog(elevel, ...) \ do { \ - int elevel_; \ elog_start(__FILE__, __LINE__, PG_FUNCNAME_MACRO); \ - elevel_ = (elevel); \ - elog_finish(elevel_, __VA_ARGS__); \ - if (elevel_ >= ERROR) \ - pg_unreachable(); \ + { \ + const int elevel_ = (elevel); \ + elog_finish(elevel_, __VA_ARGS__); \ + if (elevel_ >= ERROR) \ + pg_unreachable(); \ + } \ } while(0) #endif /* HAVE__BUILTIN_CONSTANT_P */ #else /* !HAVE__VA_ARGS */