# New Ticket Created by Chris Dolan # Please include the string: [perl #53548] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=53548 >
The file runtime/parrot/include/interpflags.pasm is auto-generated by config/gen/parrot_include.pm from include/parrot/interpreter.h. The .h parser didn't know how to handle or'd values like this: PARROT_THR_TYPE_2 = PARROT_IS_THREAD | PARROT_THR_COPY_INTERP, Thus, the generated file looked like: .macro_const PARROT_THR_TYPE_1 4096 .macro_const PARROT_THR_TYPE_2 4096 .macro_const PARROT_THR_TYPE_3 4096 With the attached patch, the generated file now (correctly) looks like this: .macro_const PARROT_THR_TYPE_1 4096 .macro_const PARROT_THR_TYPE_2 12288 .macro_const PARROT_THR_TYPE_3 28672 I did not check whether the parser change broke affected any other generated files. It would be a good idea to run the generator before and after applying this patch to see exactly what changes. There's a bit of code duplication in this patch, for example with the octal parsing. This could easily be factored out if desirable (by me or someone else). Chris P.S. I tested via the following command: perl -Ilib -Iconfig -MParrot::Configure -Mgen::parrot_include \ -e'gen::parrot_include->new->runstep(Parrot::Configure->new)' parrot_include.pm | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 40 insertions(+), 2 deletions(-)
parrot_include.pm.patch
Description: Binary data