diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9c57a8d2732..71377d89031 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2000-05-11 Michael Meissner + + * gcc.c-torture/execute/20000511-1.c: New test. + 2000-05-11 Zack Weinberg * gcc.dg/dg.exp: Scan .S files as well as .c files. diff --git a/gcc/testsuite/gcc.c-torture/execute/20000511-1.c b/gcc/testsuite/gcc.c-torture/execute/20000511-1.c new file mode 100644 index 00000000000..b8a41f5e85c --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20000511-1.c @@ -0,0 +1,33 @@ +void f (int value, int expect) +{ + if (value != expect) + abort (); +} + +int main() +{ + int a = 7, b = 6, c = 4, d = 7, e = 2; + + f (a||b%c, 1); + f (a?b%c:0, 2); + f (a=b%c, 2); + f (a*=b%c, 4); + f (a/=b%c, 2); + f (a%=b%c, 0); + f (a+=b%c, 2); + f (d||c&&e, 1); + f (d?c&&e:0, 1); + f (d=c&&e, 1); + f (d*=c&&e, 1); + f (d%=c&&e, 0); + f (d+=c&&e, 1); + f (d-=c&&e, 0); + f (d||c||e, 1); + f (d?c||e:0, 0); + f (d=c||e, 1); + f (d*=c||e, 1); + f (d%=c||e, 0); + f (d+=c||e, 1); + f (d-=c||e, 0); + exit (0); +}