Christian Kruse <christian(at)2ndQuadrant(dot)com> writes:
> According to http://llvm.org/bugs/show_bug.cgi?id=18644#c5 this is not
> a compiler bug but a difference between gcc and clang. Clang seems to
> use a left-to-right order of evaluation while gcc uses a right-to-left
> order of evaluation. So if errmsg changes errno this would lead to
> errno == ENOMEM evaluated to false.
Oh! Yeah, that is our own bug then.
> Should we work on this issue?
Absolutely. Probably best to save errno into a local just before the
ereport.
regards, tom lane