/* Test for ICE in predictive commoning with empty loop header block | |
on arm-none-linux-*. */ | |
#pragma GCC diagnostic ignored "-Wreturn-type" | |
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; | |
} | |