In a recent commit, a return was added in the middle of regular versioning
code, causing unintended early-exit of versioning (fixed in rB1a4fc6dcd67b).
This can be a rather hard to track down error, which would be good to avoid -
statically if possible.
Poisoning occurrences of "return" is the only static way I can think of to do
this. Two trade-offs: It's GCC and Clang only, and all functions to be affected
should be at the end of a file (there's no way to "end" the scope of poisoning).
Maybe this is a bit overkill because the error is unlikely to happen often, but
I'd like to have it proposed nevertheless. After all this may prevent violated
invariants ending up in files.