------- Comment #1 from rguenth at gcc dot gnu dot org 2010-08-27 14:50 ------- C testcase:
extern void abort (void); int __attribute__((noinline,noclone)) foo (char *p) { int h = 0; do { if (*p == '\0') break; ++h; if (p == 0) abort (); ++p; } while (1); return h; } int main() { if (foo("a") != 1) abort (); return 0; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45427