[preproc] #if 1 == 1 pass #endif [preproc] #if 1 == 0 fail #endif pass [preproc] #if 2 pass #endif [preproc] #if -1 pass #endif [preproc] #if-1 pass #endif [preproc] #if 1 + 1 == 2 pass #endif [preproc] #if 1 + 1 == 3 fail #endif pass [preproc] #if 8 - 3 == 5 pass #endif [preproc] #if 2 * 2 == 4 pass #endif [preproc] #if 2 * 2 == 4 pass #endif [preproc] #if 8 / 3 == 2 pass #endif [preproc] #if 0x12 == 18 pass #endif [preproc] #if 012 == 10 pass #endif [preproc] #if -1 == 0xfffffff fail #elif -1 == 0xffffffff pass #endif [preproc] #if -1 == 0xefffffffel fail #elif -1 == 0xeffffffffl pass #endif [preproc] #if (-1 == 4294967295l) && (-1 == 8589934591l) && (1 == 4294967297l) pass #endif [preproc] #if (-1ul == 4294967295ul) && (-1ul == 8589934591ul) && (1ul == 4294967297ul) pass #endif [preproc] #if (-1lu == 4294967295lu) && (-1lu == 8589934591lu) && (1lu == 4294967297lu) pass #endif [preproc] #if 36893488147419103233 == 1 pass #endif [preproc] #if 2u == 2 pass #else fail #endif [preproc] #if 2l == 2 pass #else fail #endif [preproc] #if 2Ul == 2 pass #else fail #endif [preproc] #if 2uL == 2 pass #else fail #endif [preproc] #if 012lu == 10 pass #endif [preproc] /* All math is done using unsigned 32-bit integers. */ #if 8 / -3 == 2 fail #elif 8 / -3 == 3 fail #elif 8 / -3 == -2 fail #elif 8 / -3 == -3 fail #elif 8 / -3 == 0 pass #endif [preproc] #if -8 / 3 == 2 fail #elif -8 / 3 == 3 fail #elif -8 / 3 == -2 fail #elif -8 / 3 == -3 fail #elif -8 / 3 == 1431655762 pass #endif [preproc] #if 1 && 0 fail #endif pass [preproc] #if 0 && 1 fail #endif pass [preproc] #if 1 && 1 pass #endif [preproc] #if 1 || 0 pass #endif [preproc] #if 0 || 1 pass #endif [preproc] #if 0 || 0 fail #endif pass [preproc] #if 1 != 1 fail #elif 1 != 0 pass #endif [preproc] #if 2 < 1 fail #elif 2 < 2 fail #elif 1 < 2 pass #endif [preproc] #if 2 <= 1 fail #elif (1 <= 1) && (1 <= 2) pass #endif [preproc] #if 1 > 2 fail #elif 2 > 2 fail #elif 2 > 1 pass #endif [preproc] #if 1 >= 2 fail #elif (1 >= 1) && (2 >= 1) pass #endif [preproc] #if (2 == 2) == 1 pass #endif [preproc] #if ((!0) == 1) && ((!1) == 0) && ((!2) == 0) pass #endif [preproc] #if (0 ? 2 : 3) == 3 pass #endif [preproc] #if (1 ? 2 : 3) == 2 pass #endif [preproc] #if (6 & 3) == 2 pass #endif [preproc] #if (6 | 3) == 7 pass #endif [preproc] #if (6 ^ 3) == 5 pass #endif [preproc] #if +1 == 1 pass #endif [preproc] #if -(-1) == 1 pass #endif [preproc] #if 2 + 3 * 5 == 17 pass #endif [preproc] #if (2 + 3) * 5 == 25 pass #endif [preproc] #if 0 \ < \ 1 pass #endif