I've had :init implemented for a couple of weeks now, but I can't check
it in because it needs its own flag.
Currently I'm using PFLAG to indicate a :init sub, but I
stole PFLAG from SUB_FLAG_PF_PSTCMP.
Leo suggested using PFLAG, but when I did tons of tests
broke. The :init flag is used at loadtime which is part of runtime. So
that might explain the conflict.
enough history. I'd like to get this feature checked in. The
question is where should the flag go?
As things sit now we've run out of space in P
Kevin
SUB_FLAG_PF_INIT
/*
* Subroutine flags
*/
typedef enum {
/* runtime usage flags */
SUB_FLAG_CRFF = PFLAG,
SUB_FLAG_C_HANDLER = PFLAG, /* C exceptions only */
SUB_FLAG_TAILCALL = PFLAG,
SUB_FLAG_GENERATR = PFLAG, /* unused old python pmcs */
/* compile/loadtime usage flags */
/* from packfile */
SUB_FLAG_ISUTER = PFLAG,
SUB_FLAG_PF_INIT = PFLAG,
SUB_FLAG_PF_ANN = PFLAG,
SUB_FLAG_PF_MAIN = PFLAG,
SUB_FLAG_PF_LAD = PFLAG,
SUB_FLAG_PF_IMMEDIATE = PFLAG,
SUB_FLAG_PF_PSTCMP = PFLAG,
SUB_FLAG_PF_MASK = 0xfe /* anon postcomp, is_outer*/
} sub_flags_enum;