https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69602
--- Comment #4 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- Since EAGAIN and EWOULDBLOCK probably expand from a macro to a constant (or are they enums? do we track the original form of the enum or only the underlying value?), this is as hard as: extern int xxx; #define XXX xxx int test (void) { if (!XXX && xxx) return 4; else return 0; } thus, if this is not a regression caused by something else, it is a duplicate.