https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93243
--- Comment #2 from Hongtao.liu <crazylht at gmail dot com> --- > The diffs in the source code are: > #if CASE & 1 > #define CMP(a, b) ((a) < (b)) > #else > #define CMP(a, b) (((a) - (b)) < 0) > #endiF > (a) < (b) is not equal to ((a) - (b) < 0) Compiler will trait them differently.