https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71315
--- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> --- I pasted the wrong test case in comment #0. The correct test case is as follows: void f (unsigned); void g (void) { char s[] = "1234"; f (__builtin_strlen (s + 1)); f (__builtin_strlen (s + 1)); }