# New Ticket Created by Bob Rogers
# Please include the string: [perl #52858]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=52858 >
If you run the following PASM code:
new P0, 'Integer'
set P0, 77
set $N1, 1
set $N2, 2
set $N3, 3
print $N1
print ' '
print $N2
print ' '
print $N3
print "\n"
print P0
print "\n"
end
you will see something like the following output:
[EMAIL PROTECTED]> ./parrot dollar-vars.pasm
3.000000 3.000000 3.000000
Segmentation fault
[EMAIL PROTECTED]>
The reason for this odd behavior is that all of the $N registers are
getting mapped to "N-1" (that's the register *before* N0); disassembly
shows the bogus register numbers clearly. This happens to overwrite P0,
hence the segfault.
So either the "$" syntax for registers must be disabled in PASM, or
it must be implemented properly. (I don't particularly care, and
haven't the IMCC-fu to do anything about it myself.)
-- Bob Rogers
http://rgrjr.dyndns.org/