| /* PR sanitizer/81281 */ | |
| void | |
| foo (unsigned p, unsigned a, unsigned b) | |
| { | |
| unsigned q = p + 7; | |
| if (a - (1U + __INT_MAX__) >= 2) | |
| __builtin_unreachable (); | |
| int d = p + b; | |
| int c = p + a; | |
| if (c - d != __INT_MAX__) | |
| __builtin_abort (); | |
| } | |
| void | |
| bar (unsigned p, unsigned a) | |
| { | |
| unsigned q = p + 7; | |
| if (a - (1U + __INT_MAX__) >= 2) | |
| __builtin_unreachable (); | |
| int c = p; | |
| int d = p + a; | |
| if (c - d != -__INT_MAX__ - 1) | |
| __builtin_abort (); | |
| } | |
| int | |
| main () | |
| { | |
| foo (-1U, 1U + __INT_MAX__, 1U); | |
| bar (-1U, 1U + __INT_MAX__); | |
| return 0; | |
| } |