blob: 4f82f8aa22950be68379e17d8c5bee0a9519621b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
/* Verify that
var <= 0 || ((long unsigned) (unsigned) (var - 1) < MAX_UNSIGNED_INT)
gets folded to 1. */
#include <limits.h>
void abort (void);
void link_failure (void);
volatile int v;
void
foo (int var)
{
if (!(var <= 0
|| ((long unsigned) (unsigned) (var - 1) < UINT_MAX)))
link_failure ();
}
int
main (int argc, char **argv)
{
foo (v);
return 0;
}
#ifndef __OPTIMIZE__
void
link_failure (void)
{
abort ();
}
#endif
|