diff options
author | Tim Bunce <Tim.Bunce@ig.co.uk> | 1997-01-27 16:59:06 +0000 |
---|---|---|
committer | Chip Salzenberg <chip@atlantic.net> | 1997-01-29 18:11:00 +1200 |
commit | 6c5fb52b645bfa15a7252f6d5be4457f847709b7 (patch) | |
tree | 50e71e59f7e73decc332762cf8cee0f5f3a2aa30 /lib/ExtUtils | |
parent | 6d5cdeed8354ee0a0c6ca8a52abf57d6b5a67b41 (diff) | |
download | perl-6c5fb52b645bfa15a7252f6d5be4457f847709b7.tar.gz |
xsubpp handing of void funcs breaks extensions using XST_m*()
private-msgid: <9701271659.AA15137@toad.ig.co.uk>
Diffstat (limited to 'lib/ExtUtils')
-rwxr-xr-x | lib/ExtUtils/xsubpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/ExtUtils/xsubpp b/lib/ExtUtils/xsubpp index 74e325013c..d655a26ba6 100755 --- a/lib/ExtUtils/xsubpp +++ b/lib/ExtUtils/xsubpp @@ -842,7 +842,10 @@ while (fetch_para()) { $PPCODE = grep(/^\s*PPCODE\s*:/, @line); $CODE = grep(/^\s*CODE\s*:/, @line); - $EXPLICIT_RETURN = $CODE && ("@line" =~ /\bST\s*\([^;]*=/ ); + # Detect CODE: blocks which use ST(n)= or XST_m*(n,v) + # to set explicit return values. + $EXPLICIT_RETURN = ($CODE && + ("@line" =~ /(\bST\s*\([^;]*=) | (\bXST_m\w+\s*\()/x )); $ALIAS = grep(/^\s*ALIAS\s*:/, @line); # print function header |