shithub: scc

Download patch

ref: 1f62c6cf8be63082f9674cabd731a01790d0bc74
parent: 742a008857ece4651a448d49954a08383dc714fc
author: Roberto E. Vargas Caballero <[email protected]>
date: Fri Sep 25 10:40:25 EDT 2015

Update tests

--- a/cc1/tests/test001.c
+++ b/cc1/tests/test001.c
@@ -3,12 +3,12 @@
 description: Basic hello world test
 output:
 F3	P
-X1	F3	printf
-F1
-G2	F1	main
+X4	F3	printf
+F5
+G6	F5	main
 {
 \
-	X1	"68656C6C6F20776F726C640A	'P	pP	cI
+	X4	"68656C6C6F20776F726C640A	'P	pP	cI
 	r	#I0
 }
 */
--- a/cc1/tests/test002.c
+++ b/cc1/tests/test002.c
@@ -3,27 +3,27 @@
 description: Test forward references before definition of types
 output:
 G4	P	x
-F1
-G7	F1	main
+F7
+G8	F7	main
 {
 \
 S2	S
 M5	I	i
 M6	P	next
-A2	S2	y
-A3	P	p
-A4	N	n
-	A2	M5	.I	#I0	:I
-	G4	@S2	A2	:S2
-	A4	#N0	:N	A3	A2	'P	:P	,P
-	j	L7
-	d
-L5
-	A4	#N1	:+N	A3	A3	@S2	M6	.P	:P	,P
-L7
-	j	L5	A3	#P0	!I
+A9	S2	y
+A10	P	p
+A11	N	n
+	A9	M5	.I	#I0	:I
+	G4	@S2	A9	:S2
+	A11	#N0	:N	A10	A9	'P	:P	,P
+	j	L14
+	e
+L12
+	A11	#N1	:+N	A10	A10	@S2	M6	.P	:P	,P
+L14
+	j	L12	A10	#P0	!I
 	b
-L6
+L13
 }
 */
 
--- a/cc1/tests/test003.c
+++ b/cc1/tests/test003.c
@@ -3,20 +3,20 @@
 description: Select function to call inside ternary operator
 output:
 F1
-G1	F1	foo
+G2	F1	foo
 {
 \
 	r	#I2A
 }
-G2	F1	bar
+G3	F1	bar
 {
 \
 	r	#I18
 }
-G3	F1	main
+G4	F1	main
 {
 \
-	r	G1	cI
+	r	G2	cI
 }
 */
 
--- a/cc1/tests/test004.c
+++ b/cc1/tests/test004.c
@@ -3,28 +3,28 @@
 description: Test integer operations
 output:
 F1
-G1	F1	main
+G2	F1	main
 {
 \
-A2	I	x
-	A2	#I0	:I
-	A2	A2	#I2	+I	:I
-	A2	A2	#I1	-I	:I
-	A2	A2	#I6	*I	:I
-	A2	A2	#I2	/I	:I
-	A2	A2	#I2	%I	:I
-	A2	A2	#I2	lI	:I
-	A2	A2	#I1	rI	:I
-	A2	A2	#IFF	|I	:I
-	A2	A2	#I3	&I	:I
-	A2	A2	#I1	^I	:I
-	A2	A2	A2	#I1	>I	+I	:I
-	A2	A2	A2	#I3	<I	+I	:I
-	A2	A2	A2	#I1	>I	+I	:I
-	A2	A2	A2	#I4	<I	+I	:I
-	j	L3	A2	#I4	=I
+A3	I	x
+	A3	#I0	:I
+	A3	A3	#I2	+I	:I
+	A3	A3	#I1	-I	:I
+	A3	A3	#I6	*I	:I
+	A3	A3	#I2	/I	:I
+	A3	A3	#I2	%I	:I
+	A3	A3	#I2	lI	:I
+	A3	A3	#I1	rI	:I
+	A3	A3	#IFF	|I	:I
+	A3	A3	#I3	&I	:I
+	A3	A3	#I1	^I	:I
+	A3	A3	A3	#I1	>I	+I	:I
+	A3	A3	A3	#I3	<I	+I	:I
+	A3	A3	A3	#I1	>I	+I	:I
+	A3	A3	A3	#I4	<I	+I	:I
+	j	L4	A3	#I4	=I
 	r	#I1
-L3
+L4
 	r	#I0
 }
 */
--- a/cc1/tests/test005.c
+++ b/cc1/tests/test005.c
@@ -3,18 +3,18 @@
 description: Test unary integer operations
 output:
 F1
-G1	F1	main
+G2	F1	main
 {
 \
-A2	I	x
-	A2	#I3	:I
-	A2	A2	#I0	=I	:I
-	A2	A2	#I0	=I	:I
-	A2	A2	~I	:I
-	A2	A2	_I	:I
-	j	L3	A2	#I2	=I
+A3	I	x
+	A3	#I3	:I
+	A3	A3	#I0	=I	:I
+	A3	A3	#I0	=I	:I
+	A3	A3	~I	:I
+	A3	A3	_I	:I
+	j	L4	A3	#I2	=I
 	r	#I1
-L3
+L4
 	r	#I0
 }
 */
--- a/cc1/tests/test006.c
+++ b/cc1/tests/test006.c
@@ -6,30 +6,30 @@
 test006.c:8: warning: conditional expression is constant
 test006.c:11: warning: conditional expression is constant
 G1	K	c
-F1
-G2	F1	main
+F2
+G3	F2	main
 {
 \
-	j	L2	#I0
-	r	#I1
-	j	L3
-L2
 	j	L4	#I0
+	r	#I1
 	j	L5
 L4
-	j	L6	#I1
-	j	L7	G1	KI	#I0	=I
+	j	L6	#I0
+	j	L7
+L6
+	j	L8	#I1
+	j	L9	G1	gK	#I0	=I
 	r	#I1
-	j	L8
-L7
+	j	L10
+L9
 	r	#I0
+L10
+	j	L11
 L8
-	j	L9
-L6
 	r	#I1
-L9
+L11
+L7
 L5
-L3
 	r	#I1
 }
 */
--- a/cc1/tests/test007.c
+++ b/cc1/tests/test007.c
@@ -3,20 +3,20 @@
 description: basic while test
 output:
 F1
-G1	F1	main
+G2	F1	main
 {
 \
-A2	I	x
-	A2	#IA	:I
-	j	L5
-	d
-L3
-	A2	A2	#I1	-I	:I
-L5
-	j	L3	A2	#I0	!I
-	b
+A3	I	x
+	A3	#IA	:I
+	j	L6
+	e
 L4
-	r	A2
+	A3	A3	#I1	-I	:I
+L6
+	j	L4	A3	#I0	!I
+	b
+L5
+	r	A3
 }
 */
 
--- a/cc1/tests/test008.c
+++ b/cc1/tests/test008.c
@@ -3,24 +3,24 @@
 description: Basic do while loop
 output:
 F1
-G1	F1	main
+G2	F1	main
 {
 \
-A2	I	x
-	A2	#I0	:I
-	d
-L3
-	A2	A2	#I1	+I	:I
-	j	L3	A2	#IA	<I
-	b
+A3	I	x
+	A3	#I0	:I
+	e
 L4
-	d
-L5
-	A2	A2	#I1	+I	:I
-	j	L5	A2	#I14	<I
+	A3	A3	#I1	+I	:I
+	j	L4	A3	#IA	<I
 	b
+L5
+	e
 L6
-	r	A2	#I14	-I
+	A3	A3	#I1	+I	:I
+	j	L6	A3	#I14	<I
+	b
+L7
+	r	A3	#I14	-I
 }
 */
 
--- a/cc1/tests/test009.c
+++ b/cc1/tests/test009.c
@@ -3,22 +3,22 @@
 description: Basic test for loops
 output:
 F1
-G1	F1	main
+G2	F1	main
 {
 \
-A2	I	x
-	A2	#I0	:I
-	j	L5
-	d
-L3
-	A2	A2	#I1	+I	:I
-L5
-	j	L3	A2	#IA	<I
-	b
+A3	I	x
+	A3	#I0	:I
+	j	L6
+	e
 L4
-	j	L6	A2	#IA	=I
-	r	#I1
+	A3	A3	#I1	+I	:I
 L6
+	j	L4	A3	#IA	<I
+	b
+L5
+	j	L7	A3	#IA	=I
+	r	#I1
+L7
 	r	#I0
 }
 */
--- a/cc1/tests/test010.c
+++ b/cc1/tests/test010.c
@@ -6,56 +6,56 @@
 test010.c:11: warning: conditional expression is constant
 test010.c:31: warning: conditional expression is constant
 F1
-G1	F1	main
+G2	F1	main
 {
 \
-A2	I	x
-	A2	#I0	:I
+A3	I	x
+	A3	#I0	:I
+	j	L6
+	e
+L4
 	j	L5
-	d
-L3
-	j	L4
-L5
-	j	L3	#I1
+L6
+	j	L4	#I1
 	b
-L4
+L5
+	j	L9
+	e
+L7
+	j	L10	A3	#I5	!I
 	j	L8
-	d
-L6
-	j	L9	A2	#I5	!I
+L10
+	A3	A3	#I1	+I	:I
 	j	L7
 L9
-	A2	A2	#I1	+I	:I
-	j	L6
-L8
-	j	L6	#I1
+	j	L7	#I1
 	b
-L7
+L8
 
+	j	L13
+	e
+L11
+	j	L14	A3	#IA	!I
 	j	L12
-	d
-L10
-	j	L13	A2	#IA	!I
+L14
+	A3	A3	#I1	+I	:I
 	j	L11
-L13
-	A2	A2	#I1	+I	:I
-	j	L10
 
-L12
-	j	L10
+L13
+	j	L11
 	b
-L11
-	d
-L14
-	j	L16	A2	#IF	!I
+L12
+	e
+L15
+	j	L17	A3	#IF	!I
+	j	L16
+L17
+	A3	A3	#I1	+I	:I
 	j	L15
-L16
-	A2	A2	#I1	+I	:I
-	j	L14
-	j	L14	#I1
+	j	L15	#I1
 	b
-L15
-	r	A2	#IF	-I
+L16
+	r	A3	#IF	-I
 }
 */
 
--- a/cc1/tests/test011.c
+++ b/cc1/tests/test011.c
@@ -5,17 +5,17 @@
 test011.c:14: warning: 'foo' defined but not used
 test011.c:14: warning: 'start' defined but not used
 F1
-G1	F1	main
+G2	F1	main
 {
 \
-L2
-	j	L3
-	r	#I1
-L4
-	r	#I0
 L3
-L5
 	j	L4
+	r	#I1
+L5
+	r	#I0
+L4
+L6
+	j	L5
 	r	#I1
 }
 */
--- a/cc1/tests/test012.c
+++ b/cc1/tests/test012.c
@@ -4,70 +4,70 @@
 output:
 test012.c:39: warning: 'foo' defined but not used
 F1
-G1	F1	main
+G2	F1	main
 {
 \
-A2	I	x
-	A2	#I0	:I
-	s	L4	A2
+A3	I	x
+	A3	#I0	:I
+	s	L5	A3
+L6
+	j	L4
 L5
-	j	L3
-L4
 	t	#1
-	v	L5	#I0
-L3
-	s	L7	A2
-L8
-	s	L10	A2
-L11
-	j	L12
-L13
+	v	L6	#I0
+L4
+	s	L8	A3
+L9
+	s	L11	A3
+L12
+	j	L13
+L14
 	r	#I1
-	j	L9
-L10
+	j	L10
+L11
 	t	#2
-	v	L11	#I0
-	f	L13
-L9
-	j	L6
-L7
+	v	L12	#I0
+	f	L14
+L10
+	j	L7
+L8
 	t	#1
-	v	L8	#I0
-L6
+	v	L9	#I0
+L7
 	r	#I2
-L12
-	s	L15	A2
-L16
+L13
+	s	L16	A3
+L17
 	r	#I3
-	j	L14
-L15
+	j	L15
+L16
 	t	#1
-	v	L16	#I1
-L14
-	s	L18	A2
-	A2	#I2	:I
-L19
+	v	L17	#I1
+L15
+	s	L19	A3
+	A3	#I2	:I
 L20
+L21
 	r	#I4
-	j	L17
-L18
+	j	L18
+L19
 	t	#1
-	v	L20	#I1
-L17
-	s	L22	A2
-L23
-	r	A2
+	v	L21	#I1
+L18
+	s	L23	A3
 L24
-	r	#I1
+	r	A3
 L25
 	r	#I1
-	j	L21
-L22
+L26
+	r	#I1
+	j	L22
+L23
 	t	#3
-	v	L24	#I1
-	v	L23	#I0
-	f	L25
-L21
+	v	L25	#I1
+	v	L24	#I0
+	f	L26
+L22
 }
 */
 
--- a/cc1/tests/test013.c
+++ b/cc1/tests/test013.c
@@ -16,120 +16,120 @@
 G9	O	i
 G10	I	j
 G11	N	k
-F1
-G12	F1	main
+F12
+G13	F12	main
 {
 \
-	G1	G2	NI	:I
-	G1	G3	KI	:I
-	G1	G4	CI	:I
-	G1	G5	KI	:I
-	G1	G6	WI	:I
-	G1	G7	ZI	:I
-	G1	G8	QI	:I
-	G1	G9	OI	:I
+	G1	G2	gN	:I
+	G1	G3	gK	:I
+	G1	G4	gC	:I
+	G1	G5	gK	:I
+	G1	G6	gW	:I
+	G1	G7	gZ	:I
+	G1	G8	gQ	:I
+	G1	G9	gO	:I
 	G1	G10	:I
-	G1	G11	NI	:I
-	G2	G1	IN	:N
-	G2	G3	KN	:N
-	G2	G4	CN	:N
-	G2	G5	KN	:N
-	G2	G6	WN	:N
-	G2	G7	ZN	:N
-	G2	G8	QN	:N
-	G2	G9	ON	:N
-	G2	G10	IN	:N
+	G1	G11	gN	:I
+	G2	G1	gI	:N
+	G2	G3	gK	:N
+	G2	G4	gC	:N
+	G2	G5	gK	:N
+	G2	G6	gW	:N
+	G2	G7	gZ	:N
+	G2	G8	gQ	:N
+	G2	G9	gO	:N
+	G2	G10	gI	:N
 	G2	G11	:N
-	G3	G1	IK	:K
-	G3	G2	NK	:K
-	G3	G4	CK	:K
+	G3	G1	gI	:K
+	G3	G2	gN	:K
+	G3	G4	gC	:K
 	G3	G5	:K
-	G3	G6	WK	:K
-	G3	G7	ZK	:K
-	G3	G8	QK	:K
-	G3	G9	OK	:K
-	G3	G10	IK	:K
-	G3	G11	NK	:K
-	G4	G1	IC	:C
-	G4	G2	NC	:C
-	G4	G3	KC	:C
-	G4	G5	KC	:C
-	G4	G6	WC	:C
-	G4	G7	ZC	:C
-	G4	G8	QC	:C
-	G4	G9	OC	:C
-	G4	G10	IC	:C
-	G4	G11	NC	:C
-	G5	G1	IK	:K
-	G5	G2	NK	:K
+	G3	G6	gW	:K
+	G3	G7	gZ	:K
+	G3	G8	gQ	:K
+	G3	G9	gO	:K
+	G3	G10	gI	:K
+	G3	G11	gN	:K
+	G4	G1	gI	:C
+	G4	G2	gN	:C
+	G4	G3	gK	:C
+	G4	G5	gK	:C
+	G4	G6	gW	:C
+	G4	G7	gZ	:C
+	G4	G8	gQ	:C
+	G4	G9	gO	:C
+	G4	G10	gI	:C
+	G4	G11	gN	:C
+	G5	G1	gI	:K
+	G5	G2	gN	:K
 	G5	G3	:K
-	G5	G4	CK	:K
-	G5	G6	WK	:K
-	G5	G7	ZK	:K
-	G5	G8	QK	:K
-	G5	G9	OK	:K
-	G5	G10	IK	:K
-	G5	G11	NK	:K
-	G6	G1	IW	:W
-	G6	G2	NW	:W
-	G6	G3	KW	:W
-	G6	G4	CW	:W
-	G6	G5	KW	:W
-	G6	G7	ZW	:W
-	G6	G8	QW	:W
-	G6	G9	OW	:W
-	G6	G10	IW	:W
-	G6	G11	NW	:W
-	G7	G1	IZ	:Z
-	G7	G2	NZ	:Z
-	G7	G3	KZ	:Z
-	G7	G4	CZ	:Z
-	G7	G5	KZ	:Z
-	G7	G6	WZ	:Z
-	G7	G8	QZ	:Z
-	G7	G9	OZ	:Z
-	G7	G10	IZ	:Z
-	G7	G11	NZ	:Z
-	G8	G1	IQ	:Q
-	G8	G2	NQ	:Q
-	G8	G3	KQ	:Q
-	G8	G4	CQ	:Q
-	G8	G5	KQ	:Q
-	G8	G6	WQ	:Q
-	G8	G7	ZQ	:Q
-	G8	G9	OQ	:Q
-	G8	G10	IQ	:Q
-	G8	G11	NQ	:Q
-	G9	G1	IO	:O
-	G9	G2	NO	:O
-	G9	G3	KO	:O
-	G9	G4	CO	:O
-	G9	G5	KO	:O
-	G9	G6	WO	:O
-	G9	G7	ZO	:O
-	G9	G8	QO	:O
-	G9	G10	IO	:O
-	G9	G11	NO	:O
+	G5	G4	gC	:K
+	G5	G6	gW	:K
+	G5	G7	gZ	:K
+	G5	G8	gQ	:K
+	G5	G9	gO	:K
+	G5	G10	gI	:K
+	G5	G11	gN	:K
+	G6	G1	gI	:W
+	G6	G2	gN	:W
+	G6	G3	gK	:W
+	G6	G4	gC	:W
+	G6	G5	gK	:W
+	G6	G7	gZ	:W
+	G6	G8	gQ	:W
+	G6	G9	gO	:W
+	G6	G10	gI	:W
+	G6	G11	gN	:W
+	G7	G1	gI	:Z
+	G7	G2	gN	:Z
+	G7	G3	gK	:Z
+	G7	G4	gC	:Z
+	G7	G5	gK	:Z
+	G7	G6	gW	:Z
+	G7	G8	gQ	:Z
+	G7	G9	gO	:Z
+	G7	G10	gI	:Z
+	G7	G11	gN	:Z
+	G8	G1	gI	:Q
+	G8	G2	gN	:Q
+	G8	G3	gK	:Q
+	G8	G4	gC	:Q
+	G8	G5	gK	:Q
+	G8	G6	gW	:Q
+	G8	G7	gZ	:Q
+	G8	G9	gO	:Q
+	G8	G10	gI	:Q
+	G8	G11	gN	:Q
+	G9	G1	gI	:O
+	G9	G2	gN	:O
+	G9	G3	gK	:O
+	G9	G4	gC	:O
+	G9	G5	gK	:O
+	G9	G6	gW	:O
+	G9	G7	gZ	:O
+	G9	G8	gQ	:O
+	G9	G10	gI	:O
+	G9	G11	gN	:O
 	G10	G1	:I
-	G10	G2	NI	:I
-	G10	G3	KI	:I
-	G10	G4	CI	:I
-	G10	G5	KI	:I
-	G10	G6	WI	:I
-	G10	G7	ZI	:I
-	G10	G8	QI	:I
-	G10	G9	OI	:I
-	G10	G11	NI	:I
-	G11	G1	IN	:N
+	G10	G2	gN	:I
+	G10	G3	gK	:I
+	G10	G4	gC	:I
+	G10	G5	gK	:I
+	G10	G6	gW	:I
+	G10	G7	gZ	:I
+	G10	G8	gQ	:I
+	G10	G9	gO	:I
+	G10	G11	gN	:I
+	G11	G1	gI	:N
 	G11	G2	:N
-	G11	G3	KN	:N
-	G11	G4	CN	:N
-	G11	G5	KN	:N
-	G11	G6	WN	:N
-	G11	G7	ZN	:N
-	G11	G8	QN	:N
-	G11	G10	IN	:N
-	G11	G9	ON	:N
+	G11	G3	gK	:N
+	G11	G4	gC	:N
+	G11	G5	gK	:N
+	G11	G6	gW	:N
+	G11	G7	gZ	:N
+	G11	G8	gQ	:N
+	G11	G10	gI	:N
+	G11	G9	gO	:N
 }
 */
 
--- a/cc1/tests/test014.c
+++ b/cc1/tests/test014.c
@@ -14,27 +14,27 @@
 G1	I	a
 Y2	K	b
 X3	I	c
-F1
-G5	F1	func1
+F5
+G6	F5	func1
 {
 \
-A2	I	h
-T3	K	i
-R4	W	j
-X5	I	k
-T6	Z	a
+A7	I	h
+T8	K	i
+R9	W	j
+X10	I	k
+T11	Z	a
 	r	#I0
 }
-F2	I
-G6	F2	func2
+F13	I
+G14	F13	func2
 {
-R1	I	par
+R12	I	par
 \
-A3	I	par
+A15	I	par
 }
-T7	F2	func3
+T17	F13	func3
 {
-R1	I	par
+R16	I	par
 \
 }
 test014.c:29: error: invalid storage class for function 'd'
--- a/cc1/tests/test015.c
+++ b/cc1/tests/test015.c
@@ -11,16 +11,16 @@
 S2	s
 M11	S5	s
 G12	S2	s2
-F1
-G13	F1	main
+F13
+G14	F13	main
 {
 \
-	j	L2
-A3	S2	s
-A4	I	s
-	r	A4
-	r	A3	M11	.S5	M6	.I	A3	M11	.S5	M10	.S8	M9	.I	+I
-L2
+	j	L15
+A16	S2	s
+A17	I	s
+	r	A17
+	r	A16	M11	.S5	M6	.I	A16	M11	.S5	M10	.S8	M9	.I	+I
+L15
 */
 
 typedef struct s s;
--- a/cc1/tests/test016.c
+++ b/cc1/tests/test016.c
@@ -4,40 +4,40 @@
 output:
 test016.c:43: error: redefinition of 'func2'
 G1	I	g
-F1
-G2	F1	func1
+F2
+G3	F2	func1
 {
 \
-A2	I	x
-A4	P	p
+A4	I	x
+A6	P	p
 	G1	#I1	:I
-	A2	#I1	:I
-	A4	A2	'P	:P
-	A4	@I	#I0	:I
-	j	L5	A2	#I0	=I
+	A4	#I1	:I
+	A6	A4	'P	:P
+	A6	@I	#I0	:I
+	j	L7	A4	#I0	=I
 	r	#I1
-L5
-	A4	G1	'P	:P
-	A4	@I	#I0	:I
-	j	L6	A4	#P0	!I
+L7
+	A6	G1	'P	:P
+	A6	@I	#I0	:I
+	j	L8	A6	#P0	!I
 	r	#I1
-L6
+L8
 	r	#I0
 }
-G3	F1	func2
+G9	F2	func2
 {
 \
-A1	I	x
-A2	P	p
-A4	P	pp
-	A1	#I1	:I
-	A2	A1	'P	:P
-	A4	A2	'P	:P
-	j	L5	A2	#P0	=I
-	A4	@P	@I	#I0	:I
-L5
-	A2	#P0	:P
-	r	A1
+A10	I	x
+A11	P	p
+A13	P	pp
+	A10	#I1	:I
+	A11	A10	'P	:P
+	A13	A11	'P	:P
+	j	L14	A11	#P0	=I
+	A13	@P	@I	#I0	:I
+L14
+	A11	#P0	:P
+	r	A10
 }
 test016.c:47: error: incompatible types when assigning
 */
--- a/cc1/tests/test017.c
+++ b/cc1/tests/test017.c
@@ -2,26 +2,26 @@
 name: TEST017
 description: Basic test about pointers and structs
 output:
-F1
-G9	F1	main
+F9
+G10	F9	main
 {
 \
 S2	s1
 M3	I	y
 M4	I	z
-A2	S2	nested
+A11	S2	nested
 S6	s2
 M8	P	p
-A3	S6	v
-	A3	M8	.P	A2	'P	:P
-	A3	M8	.P	@S2	M3	.I	#I1	:I
-	A3	M8	.P	@S2	M4	.I	#I2	:I
-	j	L4	A2	M3	.I	#I1	=I
+A12	S6	v
+	A12	M8	.P	A11	'P	:P
+	A12	M8	.P	@S2	M3	.I	#I1	:I
+	A12	M8	.P	@S2	M4	.I	#I2	:I
+	j	L13	A11	M3	.I	#I1	=I
 	r	#I1
-L4
-	j	L5	A2	M4	.I	#I2	=I
+L13
+	j	L14	A11	M4	.I	#I2	=I
 	r	#I2
-L5
+L14
 	r	#I0
 }
 */
--- a/cc1/tests/test018.c
+++ b/cc1/tests/test018.c
@@ -3,32 +3,32 @@
 description: Basic test for arrays
 output:
 F1
-G1	F1	main
+G2	F1	main
 {
 \
-V2	K	#4
-V3	V2	#2
-A4	V3	arr
-A6	P	p
-A8	P	q
-V9	I	#4
-A10	V9	v
-	A6	A4	'P	:P
-	A8	A4	'P	#P4	+P	#P3	+P	:P
-	A4	'P	#P4	+P	#P3	+P	@K	#K2	:K
-	A10	#I2	:I
-	j	L12	A4	'P	#P4	+P	#P3	+P	@K	KI	#I2	=I
+V3	K	#4
+V4	V3	#2
+A5	V4	arr
+A7	P	p
+A9	P	q
+V10	I	#4
+A11	V10	v
+	A7	A5	'P	:P
+	A9	A5	'P	#P4	+P	#P3	+P	:P
+	A5	'P	#P4	+P	#P3	+P	@K	#K2	:K
+	A11	#I2	:I
+	j	L13	A5	'P	#P4	+P	#P3	+P	@K	gK	#I2	=I
 	r	#I1
-L12
-	j	L13	A6	#P4	+P	#P3	+P	@K	KI	#I2	=I
-	r	#I1
 L13
-	j	L14	A8	@K	KI	#I2	=I
+	j	L14	A7	#P4	+P	#P3	+P	@K	gK	#I2	=I
 	r	#I1
 L14
-	j	L15	A10	#I2	=I
+	j	L15	A9	@K	gK	#I2	=I
 	r	#I1
 L15
+	j	L16	A11	#I2	=I
+	r	#I1
+L16
 	r	#I0
 }
 */
--- a/cc1/tests/test019.c
+++ b/cc1/tests/test019.c
@@ -6,29 +6,29 @@
 test019.c:13: warning: division by 0
 test019.c:14: warning: division by 0
 F1
-G1	F1	main
+G2	F1	main
 {
 \
-A2	I	i
-	A2	#I3	:I
-	A2	#I1	:I
-	A2	#I12	:I
-	A2	#I2	:I
-	A2	#I0	:I
-	A2	A2	#I0	%I	:I
-	A2	A2	#I0	%I	:I
-	A2	#I8	:I
-	A2	#I2	:I
-	A2	#I4	:I
-	A2	#IC	:I
-	A2	#I8	:I
-	A2	#IFFFD	:I
-	A2	#IFFF3	:I
-	A2	#I1	:I
-	A2	#I0	:I
-	A2	#I0	:I
-	A2	#I1	:I
-	A2	#I0	:I
+A3	I	i
+	A3	#I3	:I
+	A3	#I1	:I
+	A3	#I12	:I
+	A3	#I2	:I
+	A3	#I0	:I
+	A3	A3	#I0	%I	:I
+	A3	A3	#I0	%I	:I
+	A3	#I8	:I
+	A3	#I2	:I
+	A3	#I4	:I
+	A3	#IC	:I
+	A3	#I8	:I
+	A3	#IFFFD	:I
+	A3	#IFFF3	:I
+	A3	#I1	:I
+	A3	#I0	:I
+	A3	#I0	:I
+	A3	#I1	:I
+	A3	#I0	:I
 }
 */
 
--- a/cc1/tests/test020.c
+++ b/cc1/tests/test020.c
@@ -6,41 +6,41 @@
 test020.c:81: warning: division by 0
 test020.c:82: warning: division by 0
 F1
-G1	F1	main
+G2	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
+A3	I	i
+	A3	A3	#I0	!I	:I
+	A3	A3	#I0	!I	#I1	,I	:I
+	A3	#I1	:I
+	A3	A3	#I0	!I	:I
+	A3	A3	#I0	!I	#I0	,I	:I
+	A3	A3	#I0	!I	:I
+	A3	A3	#I0	!I	:I
+	A3	#I0	:I
+	A3	A3	:I
+	A3	#I0	:I
+	A3	A3	:I
+	A3	#I0	:I
+	A3	A3	:I
+	A3	A3	:I
+	A3	A3	:I
+	A3	#I0	A3	-I	:I
+	A3	A3	:I
+	A3	A3	:I
+	A3	A3	:I
+	A3	A3	:I
+	A3	A3	#I0	,I	:I
+	A3	A3	#I0	,I	:I
+	A3	A3	:I
+	A3	A3	:I
+	A3	A3	:I
+	A3	#I1	A3	/I	:I
+	A3	A3	:I
+	A3	A3	:I
+	A3	A3	#I1	,I	:I
+	A3	A3	#I0	/I	:I
+	A3	A3	#I0	%I	:I
 }
 */
 
--- a/cc1/tests/test021.c
+++ b/cc1/tests/test021.c
@@ -5,21 +5,21 @@
 comments: This test is done for z80 implementation
 output:
 F1
-G1	F1	main
+G2	F1	main
 {
 \
-A2	K	uc
-A3	C	sc
-	A2	#KFF	:K
-	A2	#K23	:K
-	A2	#K1	:K
-	A2	#K1	:K
-	A2	#K41	:K
-	A3	#CFF	:C
-	A3	#C23	:C
-	A3	#C1	:C
-	A3	#C1	:C
-	A3	#C41	:C
+A3	K	uc
+A4	C	sc
+	A3	#KFF	:K
+	A3	#K23	:K
+	A3	#K1	:K
+	A3	#K1	:K
+	A3	#K41	:K
+	A4	#CFF	:C
+	A4	#C23	:C
+	A4	#C1	:C
+	A4	#C1	:C
+	A4	#C41	:C
 }
 */
 
--- a/cc1/tests/test022.c
+++ b/cc1/tests/test022.c
@@ -5,27 +5,27 @@
 comments: This test is done for z80 data types
 output:
 F1
-G1	F1	main
+G2	F1	main
 {
 \
-A2	I	i
-A3	N	u
-	A2	#I1	:I
-	A2	#IFFFF	:I
-	A2	#IFFFF	:I
-	A2	#IFFFF	:I
-	A2	#IFFFF	:I
-	A2	#I3	:I
-	A2	#I1	:I
-	A2	#I0	:I
-	A3	#N1	:N
-	A3	#NFFFF	:N
-	A3	#NFFFF	:N
-	A3	#NFFFF	:N
-	A3	#NFFFF	:N
-	A3	#N0	:N
-	A3	#N3	:N
-	A3	#N0	:N
+A3	I	i
+A4	N	u
+	A3	#I1	:I
+	A3	#IFFFF	:I
+	A3	#IFFFF	:I
+	A3	#IFFFF	:I
+	A3	#IFFFF	:I
+	A3	#I3	:I
+	A3	#I1	:I
+	A3	#I0	:I
+	A4	#N1	:N
+	A4	#NFFFF	:N
+	A4	#NFFFF	:N
+	A4	#NFFFF	:N
+	A4	#NFFFF	:N
+	A4	#N0	:N
+	A4	#N3	:N
+	A4	#N0	:N
 	r	#I0
 }
 */
--- a/cc1/tests/test023.c
+++ b/cc1/tests/test023.c
@@ -5,27 +5,27 @@
 comments: This test is done for z80 data types
 output:
 F1
-G1	F1	main
+G2	F1	main
 {
 \
-A2	W	i
-A3	Z	u
-	A2	#W1	:W
-	A2	#WFFFFFFFF	:W
-	A2	#WFFFFFFFF	:W
-	A2	#WFFFFFFFF	:W
-	A2	#WFFFFFFFF	:W
-	A2	#W3	:W
-	A2	#W1	:W
-	A2	#W0	:W
-	A3	#Z1	:Z
-	A3	#ZFFFFFFFF	:Z
-	A3	#ZFFFFFFFF	:Z
-	A3	#ZFFFFFFFF	:Z
-	A3	#ZFFFFFFFF	:Z
-	A3	#Z3	:Z
-	A3	#Z1	:Z
-	A3	#Z0	:Z
+A3	W	i
+A4	Z	u
+	A3	#W1	:W
+	A3	#WFFFFFFFF	:W
+	A3	#WFFFFFFFF	:W
+	A3	#WFFFFFFFF	:W
+	A3	#WFFFFFFFF	:W
+	A3	#W3	:W
+	A3	#W1	:W
+	A3	#W0	:W
+	A4	#Z1	:Z
+	A4	#ZFFFFFFFF	:Z
+	A4	#ZFFFFFFFF	:Z
+	A4	#ZFFFFFFFF	:Z
+	A4	#ZFFFFFFFF	:Z
+	A4	#Z3	:Z
+	A4	#Z1	:Z
+	A4	#Z0	:Z
 	r	#I0
 }
 */
--- a/cc1/tests/test024.c
+++ b/cc1/tests/test024.c
@@ -5,25 +5,25 @@
 comments: This test is done for z80 data types
 output:
 F1
-G1	F1	main
+G2	F1	main
 {
 \
-A2	Q	i
-A3	O	u
-	A2	#Q1	:Q
-	A2	#QFFFFFFFF	:Q
-	A2	#QFFFFFFFF	:Q
-	A2	#QFFFFFFFF	:Q
-	A2	#QFFFFFFFF	:Q
-	A2	#Q3	:Q
-	A2	#Q1	:Q
-	A3	#O1	:O
-	A3	#OFFFFFFFF	:O
-	A3	#OFFFFFFFF	:O
-	A3	#OFFFFFFFF	:O
-	A3	#OFFFFFFFF	:O
-	A3	#O3	:O
-	A3	#O0	:O
+A3	Q	i
+A4	O	u
+	A3	#Q1	:Q
+	A3	#QFFFFFFFF	:Q
+	A3	#QFFFFFFFF	:Q
+	A3	#QFFFFFFFF	:Q
+	A3	#QFFFFFFFF	:Q
+	A3	#Q3	:Q
+	A3	#Q1	:Q
+	A4	#O1	:O
+	A4	#OFFFFFFFF	:O
+	A4	#OFFFFFFFF	:O
+	A4	#OFFFFFFFF	:O
+	A4	#OFFFFFFFF	:O
+	A4	#O3	:O
+	A4	#O0	:O
 	r	#I0
 }
 */