error: do not evaluate status twice Do this in a different way, so that the status is evaluated once even when not optimizing and when using GCC. * lib/error.in.h (__gl_error_call1) [__GNUC__]: New macro. (__gl_error_call) [__GNUC__]: Use it.