mirror of
https://github.com/nArnoSNES/tcc-65816.git
synced 2024-05-31 22:41:28 +00:00
87 lines
1.0 KiB
C
87 lines
1.0 KiB
C
/* Copyright (C) 2002 Free Software Foundation.
|
|
|
|
Test for composite comparison always true/false optimization.
|
|
|
|
Written by Roger Sayle, 7th June 2002. */
|
|
|
|
extern void link_error0 ();
|
|
extern void link_error1 ();
|
|
|
|
void
|
|
test1 (int x, int y)
|
|
{
|
|
if ((x==y) && (x!=y))
|
|
link_error0();
|
|
}
|
|
|
|
void
|
|
test2 (int x, int y)
|
|
{
|
|
if ((x<y) && (x>y))
|
|
link_error0();
|
|
}
|
|
|
|
void
|
|
test3 (int x, int y)
|
|
{
|
|
if ((x<y) && (y<x))
|
|
link_error0();
|
|
}
|
|
|
|
void
|
|
test4 (int x, int y)
|
|
{
|
|
if ((x==y) || (x!=y))
|
|
{
|
|
}
|
|
else
|
|
link_error1 ();
|
|
}
|
|
|
|
void
|
|
test5 (int x, int y)
|
|
{
|
|
if ((x>=y) || (x<y))
|
|
{
|
|
}
|
|
else
|
|
link_error1 ();
|
|
}
|
|
|
|
void
|
|
test6 (int x, int y)
|
|
{
|
|
if ((x<=y) || (y<x))
|
|
{
|
|
}
|
|
else
|
|
link_error1 ();
|
|
}
|
|
|
|
void
|
|
all_tests (int x, int y)
|
|
{
|
|
test1 (x, y);
|
|
test2 (x, y);
|
|
test3 (x, y);
|
|
test4 (x, y);
|
|
test5 (x, y);
|
|
test6 (x, y);
|
|
}
|
|
|
|
int
|
|
main ()
|
|
{
|
|
all_tests (0, 0);
|
|
all_tests (1, 2);
|
|
all_tests (4, 3);
|
|
|
|
return 0;
|
|
}
|
|
|
|
#ifndef __OPTIMIZE__
|
|
void link_error0() {}
|
|
void link_error1() {}
|
|
#endif /* ! __OPTIMIZE__ */
|
|
|