Hi,
the test in imcc/t/imcpasm/{pcc,optc}.t are currently failing. First I
thought this was a problem with my setup because most tinderbox were
green. It took me a while until I found out that they also fail, but
you need to look in the logs to see it. Is there a bug in the
tinderbox-code?
Anyway: imcc generates code were the generated labels start with _@
instead of @ like the test suggests.
Leo says [1] that labels should not start with an _ so the obvious
(attached) patch might be wrong.
bye
b�
[1] http://groups.google.com/groups?selm=200311190952.hAJ9qm812051%40thu8.leo.home
Index: imcc/t/imcpasm/optc.t
===================================================================
RCS file: /cvs/public/parrot/imcc/t/imcpasm/optc.t,v
retrieving revision 1.8
diff -u -r1.8 optc.t
--- imcc/t/imcpasm/optc.t 24 Nov 2003 06:05:08 -0000 1.8
+++ imcc/t/imcpasm/optc.t 25 Nov 2003 17:57:11 -0000
@@ -31,7 +31,7 @@
new P5, \d+ # \.PerlUndef
set P5, 42
newsub P0, \d+, _sub
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set I0, 1
null I1
set I2, 1
@@ -75,7 +75,7 @@
new P5, \d+ # \.PerlUndef
set P5, 42
newsub P0, \d+, _sub
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set I0, 1
null I1
set I2, 1
@@ -88,7 +88,7 @@
end
_sub:
add P5, P5, 1
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set I0, 1
null I1
null I2
@@ -132,7 +132,7 @@
new P16, \d+ # \.PerlUndef
set P16, 10
newsub P0, \d+, _sub
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set I0, 1
null I1
set I2, 1
@@ -146,7 +146,7 @@
end
_sub:
add P5, P5, 1
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set I0, 1
null I1
null I2
@@ -185,7 +185,7 @@
new P5, \d+ # \.PerlUndef
set P5, 42
newsub P0, \d+, _sub
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set I0, 1
null I1
set I2, 1
@@ -198,7 +198,7 @@
end
_sub:
add P5, P5, 1
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set I0, 1
null I1
null I2
@@ -238,7 +238,7 @@
new P16, \d+ # \.PerlUndef
set P16, 42
newsub P0, \d+, _sub
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set P5, P16
set I0, 1
null I1
@@ -253,7 +253,7 @@
end
_sub:
add P5, P5, 1
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set I0, 1
null I1
null I2
@@ -293,7 +293,7 @@
/_main:
set P16, P1
newsub P0, \d+, _sub1
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set I0, 1
null I1
null I2
@@ -306,14 +306,14 @@
_sub1:
set P17, P1
newsub P17, \d+, _sub2
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set P5, P16
set I16, P17
jump I16
ret:
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
_sub2:
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set I0, 1
null I1
null I2
Index: imcc/t/imcpasm/pcc.t
===================================================================
RCS file: /cvs/public/parrot/imcc/t/imcpasm/pcc.t,v
retrieving revision 1.18
diff -u -r1.18 pcc.t
--- imcc/t/imcpasm/pcc.t 24 Nov 2003 06:05:08 -0000 1.18
+++ imcc/t/imcpasm/pcc.t 25 Nov 2003 17:57:11 -0000
@@ -25,7 +25,7 @@
/_main:
set P16, P1
newsub P16, \d+, _sub
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set I5, 10
set P0, P16
set I0, 1
@@ -72,7 +72,7 @@
set P16, P1
newsub P17, \d+, _sub
newsub P16, \d+, ret
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set I5, 10
set I6, 20
set P0, P17
@@ -90,7 +90,7 @@
end
_sub:
add I16, I5, I6
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set I5, I16
set I0, 1
set I1, 1
@@ -121,7 +121,7 @@
_main:
set P16, P1
print "ok 1\n"
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set I5, 10
set N5, 20.0
set I0, 1
@@ -161,7 +161,7 @@
set P16, P1
set I(\d+), 10
set I(\d+), 20
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set I5, I\1
set I6, I\2
set I0, 1
@@ -195,7 +195,7 @@
/_main:
set P16, P1
newsub P16, \d+, _sub
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
new P3,.*?
set P3, 2
push P3, 10
@@ -231,7 +231,7 @@
/_main:
set P16, P1
newsub P(\d+), \d+, _sub
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set P5, P\d+
set P6, P\d+
set P0, P\1
@@ -267,7 +267,7 @@
/_main:
set P16, P1
newsub P16, \d+, _sub
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
new P3,.*?
set P3, 1
push P3, 10
@@ -283,12 +283,13 @@
end
_sub:
set I16, 1
- bsr @check_params
+ bsr [EMAIL PROTECTED]
set I16, -100
- bsr @check_param_type
+ bsr [EMAIL PROTECTED]
shift I16, P3
print I16
- end/
+ end
+/
OUT
output_like(<<'CODE', <<'OUT', "proto call, un proto sub, invokecc");
@@ -311,7 +312,7 @@
/_main:
set P16, P1
newsub P16, \d+, _sub
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set I5, 10
set P0, P16
set I0, 1
@@ -326,9 +327,9 @@
_sub:
if I0, (\S+)
set I16, 1
- bsr @check_params
+ bsr [EMAIL PROTECTED]
set I16, -100
- bsr @check_param_type
+ bsr [EMAIL PROTECTED]
shift I5, P3
branch (\S*)
\1:
@@ -357,7 +358,7 @@
/_main:
set P16, P1
newsub P16, \d+, _sub
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set P5, P17
set P0, P16
set I0, 1
@@ -403,7 +404,7 @@
/_main:
set P16, P1
newsub P16, \d+, _sub
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set P0, P16
set I0, 1
set I1, 0
@@ -415,7 +416,7 @@
restoretop
end
_sub:
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set P5, P16
set I0, 1
set I1, 0
@@ -423,7 +424,7 @@
set I3, 1
set I4, 0
invoke P1
[EMAIL PROTECTED]:
[EMAIL PROTECTED]:
set P5, P17
set I0, 1
set I1, 0