John Naylor <john.nay...@2ndquadrant.com> writes: > As I understand it, the point of having "do {} while (0)" in a > multi-statement macro is to turn it into a simple statement.
Right. > As such, > ending with a semicolon in both the macro definition and the > invocation will turn it back into multiple statements, creating > confusion if someone were to invoke the macro in an "if" statement. Yeah. I'd call these actual bugs, and perhaps even back-patch worthy. regards, tom lane