aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20000511-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20000511-1.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20000511-1.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20000511-1.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20000511-1.c
new file mode 100644
index 000000000..b8a41f5e8
--- /dev/null
+++ b/gcc-4.9/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);
+}