https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118662
--- Comment #2 from Sam James <sjames at gcc dot gnu.org> --- ``` int addup(char *num) { int val = num[0] + num[1] + num[2] + num[3]; if (num[3] >= 0) val++; return val; } int main(int, char *[]) { char num[4] = {1, 1, 1, -1}; if (addup(num) != 2) __builtin_abort(); return 0; } ```