| /* { dg-do link } */ | |
| /* { dg-options "-O2 -fno-tree-switch-conversion" } */ | |
| extern void link_error (void); | |
| /* Test <<. */ | |
| void | |
| f3 (int s, int b) | |
| { | |
| if (s >> 3 == -2) | |
| /* s in range [-16, -9]. */ | |
| { | |
| s += 17; | |
| /* s in range [1, 8]. */ | |
| b = (b & 1) + 1; | |
| /* b in range [1, 2]. */ | |
| b = b << s; | |
| /* b in range [bmin << smin, bmax << smax], | |
| == [1 << 1, 2 << 8] | |
| == [2, 512]. */ | |
| if (b == 1 || b == 513) | |
| link_error (); | |
| } | |
| } | |
| int | |
| main () | |
| { | |
| return 0; | |
| } | |