diff options
author | Peter Martini <PeterCMartini@GMail.com> | 2013-10-13 16:00:00 -0400 |
---|---|---|
committer | James E Keenan <jkeenan@cpan.org> | 2013-10-16 13:17:44 +0200 |
commit | eedb00faea0e643c5d10ea0d9200aa705124d603 (patch) | |
tree | 1da04599023cc1c8c85517c195cf8f3be9506710 /embed.fnc | |
parent | 53d48b8bc3daee9ac6baf1f5eb39e4d9899a6646 (diff) | |
download | perl-eedb00faea0e643c5d10ea0d9200aa705124d603.tar.gz |
Adding a prototype attribute.
This attribute adds an additional way of declaring a prototype for a
sub, making sub foo($$) and sub foo : prototype($$) equivalent. The
intent is to keep the functionality of prototypes while allowing other
modules to use the syntactic space it currently occupies for other
purposes.
The attribute is supported in attributes.xs to allow
attributes::->import to work, but if its defined inline via something
like sub foo : prototype($$) {}, it will not call out to the
attributes module.
For: RT #119251
Diffstat (limited to 'embed.fnc')
-rw-r--r-- | embed.fnc | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -300,7 +300,7 @@ p |SV * |core_prototype |NULLOK SV *sv|NN const char *name \ p |OP * |coresub_op |NN SV *const coreargssv|const int code \ |const int opnum : Used in sv.c -p |void |cv_ckproto_len_flags |NN const CV* cv|NULLOK const GV* gv\ +EMXp |void |cv_ckproto_len_flags |NN const CV* cv|NULLOK const GV* gv\ |NULLOK const char* p|const STRLEN len \ |const U32 flags : Used in pp.c and pp_sys.c @@ -862,6 +862,7 @@ poX |OP* |op_lvalue_flags|NULLOK OP* o|I32 type|U32 flags p |void |finalize_optree |NN OP* o #if defined(PERL_IN_OP_C) s |void |finalize_op |NN OP* o +s |void |move_proto_attr|NN OP **proto|NN OP **attrs|NN const GV *name #endif : Used in op.c and pp_sys.c p |int |mode_from_discipline|NULLOK const char* s|STRLEN len |