Make sure that constant folding doesn't render our tests trivial.
This commit is contained in:
parent
abbead482a
commit
837b9622fb
|
@ -1,65 +1,70 @@
|
||||||
#
|
#
|
||||||
|
/* External variables to defeat constant folding. */
|
||||||
|
zero 0;
|
||||||
|
one 1;
|
||||||
|
|
||||||
i 0;
|
i 0;
|
||||||
|
|
||||||
ext_t()
|
ext_t()
|
||||||
{
|
{
|
||||||
extrn i;
|
extrn zero, one, i;
|
||||||
|
|
||||||
i = 0;
|
i = zero;
|
||||||
if (!(i++ == 0)) fail(__LINE__);
|
if (!(i++ == 0)) fail(__LINE__);
|
||||||
|
|
||||||
i == 1;
|
i = one;
|
||||||
if (!(i-- == 1)) fail(__LINE__);
|
if (!(i-- == 1)) fail(__LINE__);
|
||||||
if (!(i == 0)) fail(__LINE__);
|
if (!(i == 0)) fail(__LINE__);
|
||||||
|
|
||||||
i = 0;
|
i = zero;
|
||||||
if (!(++i == 1)) fail(__LINE__);
|
if (!(++i == 1)) fail(__LINE__);
|
||||||
if (!(i == 1)) fail(__LINE__);
|
if (!(i == 1)) fail(__LINE__);
|
||||||
|
|
||||||
i == 1;
|
i = one;
|
||||||
if (!(--i == 0)) fail(__LINE__);
|
if (!(--i == 0)) fail(__LINE__);
|
||||||
if (!(i == 0)) fail(__LINE__);
|
if (!(i == 0)) fail(__LINE__);
|
||||||
}
|
}
|
||||||
|
|
||||||
int_t()
|
int_t()
|
||||||
{
|
{
|
||||||
|
extrn zero, one;
|
||||||
auto i;
|
auto i;
|
||||||
|
|
||||||
i = 0;
|
i = zero;
|
||||||
if (!(i++ == 0)) fail(__LINE__);
|
if (!(i++ == 0)) fail(__LINE__);
|
||||||
|
|
||||||
i == 1;
|
i = one;
|
||||||
if (!(i-- == 1)) fail(__LINE__);
|
if (!(i-- == 1)) fail(__LINE__);
|
||||||
if (!(i == 0)) fail(__LINE__);
|
if (!(i == 0)) fail(__LINE__);
|
||||||
|
|
||||||
i = 0;
|
i = zero;
|
||||||
if (!(++i == 1)) fail(__LINE__);
|
if (!(++i == 1)) fail(__LINE__);
|
||||||
if (!(i == 1)) fail(__LINE__);
|
if (!(i == 1)) fail(__LINE__);
|
||||||
|
|
||||||
i == 1;
|
i = one;
|
||||||
if (!(--i == 0)) fail(__LINE__);
|
if (!(--i == 0)) fail(__LINE__);
|
||||||
if (!(i == 0)) fail(__LINE__);
|
if (!(i == 0)) fail(__LINE__);
|
||||||
}
|
}
|
||||||
|
|
||||||
star_t()
|
star_t()
|
||||||
{
|
{
|
||||||
extrn i;
|
extrn zero, one, i;
|
||||||
auto p;
|
auto p;
|
||||||
|
|
||||||
p = &i;
|
p = &i;
|
||||||
|
|
||||||
i = 0;
|
i = zero;
|
||||||
if (!((*p)++ == 0)) fail(__LINE__);
|
if (!((*p)++ == 0)) fail(__LINE__);
|
||||||
|
|
||||||
i == 1;
|
i = one;
|
||||||
if (!((*p)-- == 1)) fail(__LINE__);
|
if (!((*p)-- == 1)) fail(__LINE__);
|
||||||
if (!(i == 0)) fail(__LINE__);
|
if (!(i == 0)) fail(__LINE__);
|
||||||
|
|
||||||
i = 0;
|
i = zero;
|
||||||
if (!(++(*p) == 1)) fail(__LINE__);
|
if (!(++(*p) == 1)) fail(__LINE__);
|
||||||
if (!(i == 1)) fail(__LINE__);
|
if (!(i == 1)) fail(__LINE__);
|
||||||
|
|
||||||
i == 1;
|
i = one;
|
||||||
if (!(--(*p) == 0)) fail(__LINE__);
|
if (!(--(*p) == 0)) fail(__LINE__);
|
||||||
if (!(i == 0)) fail(__LINE__);
|
if (!(i == 0)) fail(__LINE__);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue