# New Ticket Created by  Kenneth Graves 
# Please include the string:  [perl #23299]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=23299 >


.sub __main
$S0 = "PerlInt"
find_type $I0, $S0
new $P0, $I0
$P0 = 42
print $P0
print "\n"
.end

Fails with:
error:imcc:iANY file stdlib/test.imc line 4: op not found 'new' (new<0>)

Changing $I0->I0 and $P0->P0 allows it to work, but loses the advantages
of PIR.

(I'd like to have
$P0 = new $S0
do what I want.  Failing that, I'd at least like the find_type workaround.)

The following tiny patch "fixes" my problem, but I'm worried it creates
problems for something else.  Doesn't break any tests, though.

--kag

--- imcc.y.~1.80.~      2003-08-09 19:00:11.000000000 -0400
+++ imcc.y      2003-08-12 22:07:25.000000000 -0400
@@ -730,7 +730,7 @@
                                           R2($1, mk_address($4,U_add_once))); }     | 
 target '=' GLOBAL string        { $$ = MK_I(interp, "find_global",R2($1,$4)); }
     |  GLOBAL string '=' var   { $$ = MK_I(interp, "store_global",R2($2,$4)); }-    | 
 NEW                              { expect_pasm = 1; }
+    |  NEW                              { /*expect_pasm = 1;*/ }
           pasm_args            { $$ = iANY(interp, "new",0,regs,1);  }
     |  DEFINED target COMMA var         { $$ = MK_I(interp, "defined", R2($2, $4)); }
     |  DEFINED target COMMA var '[' keylist ']'  { keyvec=KEY_BIT(2);


Reply via email to