Egor Pasko | 167ac2b | 2010-05-18 12:26:51 | [diff] [blame^] | 1 | /* PR middle-end/38934 */ |
2 | /* { dg-do compile } */ | ||||
3 | /* { dg-options "-O2 -std=gnu99 -w" } */ | ||||
4 | |||||
5 | /* This variable needed only to work around earlier optimizations than VRP. */ | ||||
6 | unsigned char g; | ||||
7 | |||||
8 | extern void abort (); | ||||
9 | |||||
10 | void | ||||
11 | f (long long int p) | ||||
12 | { | ||||
13 | g = 255; | ||||
14 | if (p >= -9223372036854775808LL - (signed char) g) | ||||
15 | p = 1; | ||||
16 | |||||
17 | if (p) | ||||
18 | abort (); | ||||
19 | } |