On 6/2/23 11:10, Bruno Haible wrote:
+/* Avoid evaluating STATUS twice, if this is possible without making the
+   "warning: this statement may fall through" reappear.  */
+# if __OPTIMIZE__
+#  define __gl_error_call(function, status, ...) \

That means semantics are different when optimizing; generally speaking optimization should affect only performance, not correctness.

How about changing this to use __builtin_constant_p instead of __OPTIMIZE__? I.e., use the comma expression if __builtin_constant_p (status), and use the statement expression otherwise.

Reply via email to