shithub: scc

Download patch

ref: a48a176171b40b974a7c5a284c2356d26ffdf7ad
parent: 20b5535ad47415dae9f55e048cb0958be03bb9a1
author: Roberto E. Vargas Caballero <[email protected]>
date: Sun Sep 6 18:01:45 EDT 2015

Add baisc tests about algebraic identities

--- /dev/null
+++ b/cc1/tests/test020.c
@@ -1,0 +1,83 @@
+
+/*
+name: TEST020
+description: Basic test for integer algebraic identities
+output:
+test020.c:81: warning: division by 0
+test020.c:82: warning: division by 0
+F1
+G1	F1	main
+{
+-
+A2	I	i
+	A2	A2	#I0	!I	:I
+	A2	A2	#I0	!I	#I1	,I	:I
+	A2	#I1	:I
+	A2	A2	#I0	!I	:I
+	A2	A2	#I0	!I	#I0	,I	:I
+	A2	A2	#I0	!I	:I
+	A2	A2	#I0	!I	:I
+	A2	#I0	:I
+	A2	A2	:I
+	A2	#I0	:I
+	A2	A2	:I
+	A2	#I0	:I
+	A2	A2	:I
+	A2	A2	:I
+	A2	A2	:I
+	A2	#I0	A2	-I	:I
+	A2	A2	:I
+	A2	A2	:I
+	A2	A2	:I
+	A2	A2	:I
+	A2	A2	#I0	,I	:I
+	A2	A2	#I0	,I	:I
+	A2	A2	:I
+	A2	A2	:I
+	A2	A2	:I
+	A2	#I1	A2	/I	:I
+	A2	A2	:I
+	A2	A2	:I
+	A2	A2	#I1	,I	:I
+	A2	A2	#I0	/I	:I
+	A2	A2	#I0	%I	:I
+}
+*/
+
+int
+main(void)
+{
+	int i;
+
+	i = i || 0;
+	i = i || 4;
+	i = 4 || i;
+	i = 0 || i;
+	i = i && 0;
+	i = i && 4;
+	i = 4 && i;
+	i = 0 && i;
+	i = i << 0;
+	i = 0 << i;
+	i = i >> 0;
+	i = 0 >> i;	
+	i = i + 0;
+	i = 0 + i;
+	i = i - 0;
+	i = 0 - i;
+	i = i | 0;
+	i = 0 | i;
+	i = i ^ 0;
+	i = 0 ^ i;
+	i = i * 0;
+	i = 0 * i;
+	i = i * 1;
+	i = 1 * i;
+	i = i / 1;
+	i = 1 / i;
+	i = i & ~0;
+	i = ~0 & i;
+	i = i % 1;
+	i = i / 0;
+	i = i % 0;
+}