/* { dg-do compile } */ | |
/* { dg-options "-O2 -fdisable-tree-ethread" } */ | |
/* Note: Threader will collapse loop. */ | |
typedef int int32_t __attribute__((mode (__SI__))); | |
void bar (int32_t); | |
void | |
foo () | |
{ | |
int32_t index = 0; | |
for (index; index <= 10; index--) // expected warning here | |
/* Result of the following multiply will overflow | |
when converted to signed int32_t. */ | |
bar ((0xcafe + index) * 0xdead); /* { dg-warning "iteration \[0-9\]+ invokes undefined behavior" } */ | |
} |