http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51760
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-05 11:41:56 UTC --- Reduced testcase: extern inline __attribute__ ((always_inline)) void * memmove (void *dest, const void *src, __SIZE_TYPE__ len) { return __builtin___memmove_chk (dest, src, len, __builtin_object_size (dest, 0)); } void foo (void) { char a[64], *b; for (;;) { memmove (a, b, 0); b = a; } }