summaryrefslogtreecommitdiff
path: root/embed.h
diff options
context:
space:
mode:
authorZefram <zefram@fysh.org>2014-02-01 01:27:13 +0000
committerZefram <zefram@fysh.org>2014-02-01 01:27:15 +0000
commit30d9c59b5f3cba8b5d632d20c2370e82d8ba69ca (patch)
tree989db43c82b395cec053b341532db7a145827254 /embed.h
parentef463b6d87c1ce4e4946bdf785d47e481c1f33f2 (diff)
downloadperl-30d9c59b5f3cba8b5d632d20c2370e82d8ba69ca.tar.gz
subroutine signatures
Declarative syntax to unwrap argument list into lexical variables. "sub foo ($a,$b) {...}" checks number of arguments and puts the arguments into lexical variables. Signatures are not equivalent to the existing idiom of "sub foo { my($a,$b) = @_; ... }". Signatures are only available by enabling a non-default feature, and generate warnings about being experimental. The syntactic clash with prototypes is managed by disabling the short prototype syntax when signatures are enabled.
Diffstat (limited to 'embed.h')
-rw-r--r--embed.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/embed.h b/embed.h
index d1722482b0..15ccb77b51 100644
--- a/embed.h
+++ b/embed.h
@@ -1212,6 +1212,7 @@
#define pad_push(a,b) Perl_pad_push(aTHX_ a,b)
#define pad_swipe(a,b) Perl_pad_swipe(aTHX_ a,b)
#define padlist_store(a,b,c) Perl_padlist_store(aTHX_ a,b,c)
+#define parse_subsignature() Perl_parse_subsignature(aTHX)
#define parse_unicode_opts(a) Perl_parse_unicode_opts(aTHX_ a)
#define parser_free(a) Perl_parser_free(aTHX_ a)
#define peep(a) Perl_peep(aTHX_ a)