mirror of
https://github.com/nArnoSNES/tcc-65816.git
synced 2024-06-12 13:29:29 +00:00
36 lines
459 B
C
36 lines
459 B
C
/* 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
|