# New Ticket Created by Will Coleda # Please include the string: [perl #55804] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=55804 >
The following pir: .macro While(code) .endm .sub main :main .While ({ # this comment is required } # note missing ) .end Breaks parrot. If you use the {} syntax, have a non-empty body for it, but fail to specify the closing paren on the macro invocation, you get the following stacktrace: (gdb) bt #0 0xb7f83402 in __kernel_vsyscall () #1 0xb6df12a5 in raise () from /lib/i686/nosegneg/libc.so.6 #2 0xb6df2cf1 in abort () from /lib/i686/nosegneg/libc.so.6 #3 0xb6e2a47c in __libc_message () from /lib/i686/nosegneg/libc.so.6 #4 0xb6e341da in _int_realloc () from /lib/i686/nosegneg/libc.so.6 #5 0xb6e36162 in realloc () from /lib/i686/nosegneg/libc.so.6 #6 0xb7ec008d in read_params (valp=0x0, interp=0x804f040, params=0x82413fc, macro_name=0x8241470 "While", need_id=0, yyscanner=0x8233958) at compilers/imcc/imcc.l:944 #7 0xb7ec0854 in expand_macro (interp=0x804f040, name=0x8233f95 "While", yyscanner=0x8233958) at compilers/imcc/imcc.l:1155 #8 0xb7ebc8b1 in yylex (valp=0xbfc9e308, yyscanner=0x8233958, interp=0x804f040) at compilers/imcc/imcc.l:538 #9 0xb7eb57cd in yyparse (yyscanner=0x8233958, interp=0x804f040) at compilers/imcc/imcparser.c:2701 #10 0xb7ec2d8a in compile_to_bytecode (interp=0x804f040, sourcefile=0xbfc9e9db "foo.pir", output_file=0x0) at compilers/imcc/main.c:943 #11 0xb7ec315e in imcc_run (interp=0x804f040, sourcefile=0xbfc9e9db "foo.pir", argc=1, argv=0xbfc9e558) at compilers/imcc/main.c:1046 #12 0x08048978 in main (argc=1, argv=0xbfc9e558) at src/main.c:61 -- Will "Coke" Coleda