The recent removal of the iton/ntoi ops in favour of an extended meaning
of set causes jakoc to break. Enclosed patch fixes.
Cheers,
Simon
--- jakoc.old Sat Jan 5 21:29:10 2002
+++ jakoc Sat Jan 5 22:29:03 2002
@@ -625,7 +625,7 @@
#
if (substr($a, 0, 1) eq 'I' and num_q($b)) {
- emit_code('iton', ['N0', $a]);
+ emit_code('set', ['N0', $a]);
$a = 'N0';
}
} else {
@@ -635,10 +635,10 @@
if (substr($a, 0, 1) ne substr($b, 0, 1)) {
if ($a =~ m/^I/) {
- emit_code('iton', ['N0', $a]);
+ emit_code('set', ['N0', $a]);
$a = 'N0';
} elsif ($b =~ m/^I/) {
- emit_code('iton', ['N0', $b]);
+ emit_code('set', ['N0', $b]);
$b = 'N0';
} else {
confess "jakoc: Internal compiler error. Expected to have to use iton op.";
@@ -1072,9 +1072,9 @@
#
if ($ident_info->{TYPE} eq "N" and $value_ident_info->{TYPE} eq "I") {
- emit_code('iton', [ $ident_info->{VALUE}, $value_ident_info->{VALUE} ]);
+ emit_code('set', [ $ident_info->{VALUE}, $value_ident_info->{VALUE} ]);
} elsif ($ident_info->{TYPE} eq "I" and $value_ident_info->{TYPE} eq "N") {
- emit_code('ntoi', [ $ident_info->{VALUE}, $value_ident_info->{VALUE} ]);
+ emit_code('set', [ $ident_info->{VALUE}, $value_ident_info->{VALUE} ]);
} else {
printf(STDERR "jakoc: Cannot assign type '%s' to type '%s' on line %d.\n",
$value_ident_info->{TYPE}, $ident_info->{TYPE}, $line);