/* Test for ICE in predictive commoning with empty loop header block on arm-none-linux-gnueabi. */ struct Foo { double *ptr; Foo (double *ptr_) : ptr (ptr_) { } Foo PostInc () { return Foo (ptr++); } }; bool Baz (Foo first, double *last) { Foo prev (first.ptr); first.ptr++; while (first.ptr != last) if (*first.PostInc ().ptr < *prev.PostInc ().ptr) return false; }