# New Ticket Created by  "Carl Mäsak" 
# Please include the string:  [perl #88698]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=88698 >


Let's just say I don't think it should work like it does below. Even
if it *is* a syntax error, there are better ways to say that. File and
line number would be fine, but I'll consider this ticket fixed by just
having the very long imcc syntax error go away.

$ touch Foo.pm

$ perl6 -e '(use Foo)()'
error:imcc:syntax error, unexpected '(' ('(')
        in file '.loadlib 'perl6_ops'

.HLL "perl6"

.namespace []
.sub "_block106"  :anon :subid("76_1302947813.35435")
    .param pmc param_128 :slurpy
.annotate 'line', 0
    .const 'Sub' $P111 = "77_1302947813.35435"
    capture_lex $P111
.annotate 'line', 1
    .local pmc true
    true = get_hll_global 'True'
    .lex "__CANDIDATE_LIST__", $P108
    get_hll_global $P109, "!UNIT_START"
    .const 'Sub' $P111 = "77_1302947813.35435"
    capture_lex $P111
    .lex "@_", param_128
    $P129 = $P109($P111, param_128)
    .return ($P129)
    .const 'Sub' $P134 = "79_1302947813.35435"
    .return ($P134)
.end


.HLL "perl6"

.namespace []
.sub "_block110"  :anon :subid("77_1302947813.35435")
:outer("76_1302947813.35435")
    .param pmc param_120 :optional
    .param int has_param_120 :opt_flag
.annotate 'line', 1
    .local pmc true
    true = get_hll_global 'True'
    .lex "__CANDIDATE_LIST__", $P112
    find_lex_skip_current $P113, "$_"
    $P114 = new ['Perl6Scalar'], $P113
    setprop $P114, "rw", true
    .lex "$_", $P114
    find_lex_skip_current $P115, "$/"
    $P116 = new ['Perl6Scalar'], $P115
    setprop $P116, "rw", true
    .lex "$/", $P116
    find_lex_skip_current $P117, "$!"
    $P118 = new ['Perl6Scalar'], $P117
    setprop $P118, "rw", true
    .lex "$!", $P118
    get_hll_global $P119, ["Perl6";"Module"], "Loader"
    $P119."import"("Foo")
    if has_param_120, optparam_81
    new $P121, "Integer"
    assign $P121, 0
    set param_120, $P121
  optparam_81:
    .lex "$MAIN", param_120
    $P0 = find_dynamic_lex "$*CTXSAVE"
    if null $P0 goto ctxsave_done
    $I0 = can $P0, "ctxsave"
    unless $I0 goto ctxsave_done
    $P0."ctxsave"()
  ctxsave_done:
    $P0 = get_hll_global "@!recapture"
  recapture_loop:
    unless $P0 goto recapture_loop_end
    $P1 = shift $P0
    fixup_outer_ctx $P1
    goto recapture_loop
  recapture_loop_end:
    $P122 = ()
    .return ($P122)
.end


.HLL "perl6"

.namespace []
.sub "" :load :init :subid("post80") :outer("77_1302947813.35435")
.annotate 'line', 1
    .const 'Sub' $P111 = "77_1302947813.35435"
    .local pmc block
    set block, $P111
    $P0 = find_name "!UNIT_OUTER"
    unless null $P0 goto have_perl6
    load_language "perl6"
  have_perl6:
    "!UNIT_OUTER"(block)
    get_hll_global $P123, ["Perl6";"Module"], "Loader"
    $P124 = "&infix:<,>"()
    $P125 = "&circumfix:<{ }>"($P124)
    set $S126, "$!storage"
    getattribute $P127, $P125, $S126
    $P123."need"("Foo", $P127)
.end


.HLL "perl6"

.namespace []
.sub "_block130" :load :init :anon :subid("78_1302947813.35435")
.annotate 'line', 1
    $P132 = "!fire_phasers"("CHECK")
    .return ($P132)
.end


.HLL "perl6"

.namespace []
.sub "_block133" :load :anon :subid("79_1302947813.35435")
.annotate 'line', 1
    .const 'Sub' $P135 = "76_1302947813.35435"
    $P136 = "!UNIT_START"($P135)
    .return ($P136)
.end

' line 68
error:imcc:syntax error ... somewhere
        in file '.loadlib 'perl6_ops'

.HLL "perl6"

.namespace []
.sub "_block106"  :anon :subid("76_1302947813.35435")
    .param pmc param_128 :slurpy
.annotate 'line', 0
    .const 'Sub' $P111 = "77_1302947813.35435"
    capture_lex $P111
.annotate 'line', 1
    .local pmc true
    true = get_hll_global 'True'
    .lex "__CANDIDATE_LIST__", $P108
    get_hll_global $P109, "!UNIT_START"
    .const 'Sub' $P111 = "77_1302947813.35435"
    capture_lex $P111
    .lex "@_", param_128
    $P129 = $P109($P111, param_128)
    .return ($P129)
    .const 'Sub' $P134 = "79_1302947813.35435"
    .return ($P134)
.end


.HLL "perl6"

.namespace []
.sub "_block110"  :anon :subid("77_1302947813.35435")
:outer("76_1302947813.35435")
    .param pmc param_120 :optional
    .param int has_param_120 :opt_flag
.annotate 'line', 1
    .local pmc true
    true = get_hll_global 'True'
    .lex "__CANDIDATE_LIST__", $P112
    find_lex_skip_current $P113, "$_"
    $P114 = new ['Perl6Scalar'], $P113
    setprop $P114, "rw", true
    .lex "$_", $P114
    find_lex_skip_current $P115, "$/"
    $P116 = new ['Perl6Scalar'], $P115
    setprop $P116, "rw", true
    .lex "$/", $P116
    find_lex_skip_current $P117, "$!"
    $P118 = new ['Perl6Scalar'], $P117
    setprop $P118, "rw", true
    .lex "$!", $P118
    get_hll_global $P119, ["Perl6";"Module"], "Loader"
    $P119."import"("Foo")
    if has_param_120, optparam_81
    new $P121, "Integer"
    assign $P121, 0
    set param_120, $P121
  optparam_81:
    .lex "$MAIN", param_120
    $P0 = find_dynamic_lex "$*CTXSAVE"
    if null $P0 goto ctxsave_done
    $I0 = can $P0, "ctxsave"
    unless $I0 goto ctxsave_done
    $P0."ctxsave"()
  ctxsave_done:
    $P0 = get_hll_global "@!recapture"
  recapture_loop:
    unless $P0 goto recapture_loop_end
    $P1 = shift $P0
    fixup_outer_ctx $P1
    goto recapture_loop
  recapture_loop_end:
    $P122 = ()
    .return ($P122)
.end


.HLL "perl6"

.namespace []
.sub "" :load :init :subid("post80") :outer("77_1302947813.35435")
.annotate 'line', 1
    .const 'Sub' $P111 = "77_1302947813.35435"
    .local pmc block
    set block, $P111
    $P0 = find_name "!UNIT_OUTER"
    unless null $P0 goto have_perl6
    load_language "perl6"
  have_perl6:
    "!UNIT_OUTER"(block)
    get_hll_global $P123, ["Perl6";"Module"], "Loader"
    $P124 = "&infix:<,>"()
    $P125 = "&circumfix:<{ }>"($P124)
    set $S126, "$!storage"
    getattribute $P127, $P125, $S126
    $P123."need"("Foo", $P127)
.end


.HLL "perl6"

.namespace []
.sub "_block130" :load :init :anon :subid("78_1302947813.35435")
.annotate 'line', 1
    $P132 = "!fire_phasers"("CHECK")
    .return ($P132)
.end


.HLL "perl6"

.namespace []
.sub "_block133" :load :anon :subid("79_1302947813.35435")
.annotate 'line', 1
    .const 'Sub' $P135 = "76_1302947813.35435"
    $P136 = "!UNIT_START"($P135)
    .return ($P136)
.end

' line 112
===SORRY!===
syntax error ... somewhere

$

Reply via email to