Andres Freund <andres@2ndquadrant.com> writes:
> The attached patch:
> * adds configure checks for __VA_ARGS__ and __builtin_unreachable
> support
> * provides a pg_unreachable() macro that expands to
> __builtin_unreachable() or abort()
> * changes #define elog ... into #define elog(elevel, ...) if varargs are
> available
Seems like a good thing to do --- will review and commit.
> It does *not* combine elog_start and elog_finish into one function if
> varargs are available although that brings a rather measurable
> size/performance benefit.
Since you've apparently already done the measurement: how much?
It would be a bit tedious to support two different infrastructures for
elog(), but if it's a big enough win maybe we should.
regards, tom lane