summaryrefslogtreecommitdiff
path: root/embed.fnc
diff options
context:
space:
mode:
authorPaul "LeoNerd" Evans <leonerd@leonerd.org.uk>2022-10-14 13:14:47 +0100
committerPaul Evans <leonerd@leonerd.org.uk>2022-10-25 15:49:20 +0100
commit9a27b4a4d8ed9cce0905c91d78c279be127de229 (patch)
tree15b03d5eab1248d62d9475a486688f4a0446591c /embed.fnc
parentdb2b17365aa663074617cea8c7795ff608c41295 (diff)
downloadperl-9a27b4a4d8ed9cce0905c91d78c279be127de229.tar.gz
Better handling of builtin CV attributes
The previous code would handle subroutine attributes directly against `PL_compcv` as a side-effect of merely parsing the syntax in `yyl_colon()`, an unlikely place for anyone to find it. This complicates the way the parser works. The new structure creates a new function to apply all the builtin attributes out of an attribute list to any given CV, and invokes it from the parser at a slightly better time.
Diffstat (limited to 'embed.fnc')
-rw-r--r--embed.fnc1
1 files changed, 1 insertions, 0 deletions
diff --git a/embed.fnc b/embed.fnc
index 6d1b6e92e8..ba7dc24d4f 100644
--- a/embed.fnc
+++ b/embed.fnc
@@ -1810,6 +1810,7 @@ CTp |Signal_t |csighandler3 |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
CTp |Signal_t |perly_sighandler |int sig|NULLOK Siginfo_t *info|NULLOK void *uap|bool safe
Cp |SV** |stack_grow |NN SV** sp|NN SV** p|SSize_t n
Apd |I32 |start_subparse |I32 is_format|U32 flags
+Apd |OP* |apply_builtin_cv_attributes|NN CV *cv|NULLOK OP *attrlist
Xp |void |init_named_cv |NN CV *cv|NN OP *nameop
: Used in pp_ctl.c
p |void |sub_crush_depth|NN CV* cv