diff options
author | Karl Williamson <khw@cpan.org> | 2020-10-22 09:14:15 -0600 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2022-06-17 07:32:40 -0600 |
commit | 746dd61624d3d204c6d927134f9988342c15393d (patch) | |
tree | 39a78009ab323088d7d9db01fd39cd4739df89ed | |
parent | 13c71e252dd585f275d6b3620106def76a243886 (diff) | |
download | perl-746dd61624d3d204c6d927134f9988342c15393d.tar.gz |
Add '#' flag for autodoc entries
This indicates the symbol is accessed via #ifdef and is not a function
or a macro with a returned value
-rw-r--r-- | autodoc.pl | 8 | ||||
-rw-r--r-- | embed.fnc | 7 |
2 files changed, 14 insertions, 1 deletions
diff --git a/autodoc.pl b/autodoc.pl index 0a8d74597b..65e6f9d969 100644 --- a/autodoc.pl +++ b/autodoc.pl @@ -529,13 +529,19 @@ sub autodoc ($$) { # parse a file and extract documentation info } die "flag '$1' is not legal (for function $element_name (from $file))" - if $flags =~ / ( [^AabCDdEeFfGhiIMmNnTOoPpRrSUuWXxy;] ) /x; + if $flags =~ / ( [^AabCDdEeFfGhiIMmNnTOoPpRrSsUuWXxy;#] ) /x; die "'u' flag must also have 'm' or 'y' flags' for $element_name" if $flags =~ /u/ && $flags !~ /[my]/; warn ("'$element_name' not \\w+ in '$proto_in_file' in $file") if $flags !~ /N/ && $element_name !~ / ^ [_[:alpha:]] \w* $ /x; + if ($flags =~ /#/) { + die "Return type must be empty for '$element_name'" + if $ret_type; + $ret_type = '#ifdef'; + } + if (exists $seen{$element_name} && $flags !~ /h/) { die ("'$element_name' in $file was already documented in $seen{$element_name}"); } @@ -558,6 +558,13 @@ : ; autodoc.pl adds a terminating semi-colon to the usage example in the : documentation. : +: # The number sign flag indicates that this is a pre-processor symbol that +: is just #define'd or #undef'd. (Mnemonic: The ';' indicates the end of +: statement, with no definition to follow the symbol name. +: +: ? The question mark flag is used internally by Devel::PPPort to indicate +: that it does not have enough information to generate a proper test case. +: : In this file, pointer parameters that must not be passed NULLs should be : prefixed with NN. : |