David Rowley <dgrowley@gmail.com> writes:
> On 25 December 2014 at 00:34, Andres Freund <andres@2ndquadrant.com> wrote:
>> I really wonder if we can't make msvc reliably recognize this kind of
>> scenario - especially this case is pretty trivial?
> The attached patch removes the warning, but likely can't be used in case
> someone somewhere is doing elog(var++, "my error");
Yeah, we're *not* doing that. There are definitely places where
ereport/elog are used with nonconstant elevel.
It's curious though that MSVC fails to notice that the variable never
changes. I wonder whether we could get away with changing the elog
macro to do const int elevel_ = (elevel);
as ereport does, and whether it would help if so.
regards, tom lane