np |Signal_t |sighandler |int sig
Anp |Signal_t |csighandler |int sig
#endif
-Ap |SV** |stack_grow |NN SV** sp|NN SV**p|int n
+Ap |SV** |stack_grow |NN SV** sp|NN SV** p|int n
Ap |I32 |start_subparse |I32 is_format|U32 flags
p |void |sub_crush_depth|NN CV* cv
Apd |bool |sv_2bool |NN SV* sv
pMX |int |sv_release_IVX |NN SV *sv
#endif
-Adp |void |sv_nosharing |NULLOK SV *
-Adpbm |void |sv_nolocking |NULLOK SV *
-Adpbm |void |sv_nounlocking |NULLOK SV *
+Adp |void |sv_nosharing |NULLOK SV *sv
+Adpbm |void |sv_nolocking |NULLOK SV *sv
+Adpbm |void |sv_nounlocking |NULLOK SV *sv
Adp |int |nothreadhook
END_EXTERN_C
Es |void |regoptail |NN struct RExC_state_t *state|NN regnode *p|NN regnode *val
Es |void |regtail |NN struct RExC_state_t *state|NN regnode *p|NN regnode *val
Es |char* |regwhite |NN char *p|NN const char *e
-Es |char* |nextchar |NN struct RExC_state_t*
+Es |char* |nextchar |NN struct RExC_state_t *state
# ifdef DEBUGGING
Es |regnode*|dumpuntil |NN regnode *start|NN regnode *node \
|NULLOK regnode *last|NN SV* sv|I32 l
Es |void |put_byte |NN SV* sv|int c
# endif
-Es |void |scan_commit |NN struct RExC_state_t*|NN struct scan_data_t *data
-Es |void |cl_anything |NN struct RExC_state_t*|NN struct regnode_charclass_class *cl
+Es |void |scan_commit |NN struct RExC_state_t* state|NN struct scan_data_t *data
+Es |void |cl_anything |NN struct RExC_state_t* state|NN struct regnode_charclass_class *cl
Es |int |cl_is_anything |NN const struct regnode_charclass_class *cl
-Es |void |cl_init |NN struct RExC_state_t*|NN struct regnode_charclass_class *cl
-Es |void |cl_init_zero |NN struct RExC_state_t*|NN struct regnode_charclass_class *cl
+Es |void |cl_init |NN struct RExC_state_t* state|NN struct regnode_charclass_class *cl
+Es |void |cl_init_zero |NN struct RExC_state_t* state|NN struct regnode_charclass_class *cl
Es |void |cl_and |NN struct regnode_charclass_class *cl \
|NN const struct regnode_charclass_class *and_with
-Es |void |cl_or |NN struct RExC_state_t*|NN struct regnode_charclass_class *cl \
+Es |void |cl_or |NN struct RExC_state_t* state|NN struct regnode_charclass_class *cl \
|NN const struct regnode_charclass_class *or_with
-Es |I32 |study_chunk |NN struct RExC_state_t* pRExC_state|NN regnode **scanp \
+Es |I32 |study_chunk |NN struct RExC_state_t* state|NN regnode **scanp \
|NN I32 *deltap|NN regnode *last|NULLOK struct scan_data_t *data \
|U32 flags|U32 depth
-Es |I32 |add_data |NN struct RExC_state_t*|I32 n|NN const char *s
+Es |I32 |add_data |NN struct RExC_state_t* state|I32 n|NN const char *s
rs |void |re_croak2 |NN const char* pat1|NN const char* pat2|...
-Es |I32 |regpposixcc |NN struct RExC_state_t*|I32 value
-Es |void |checkposixcc |NN struct RExC_state_t*
+Es |I32 |regpposixcc |NN struct RExC_state_t* state|I32 value
+Es |void |checkposixcc |NN struct RExC_state_t* state
-Es |I32 |make_trie |NN struct RExC_state_t*|NN regnode *startbranch \
+Es |I32 |make_trie |NN struct RExC_state_t* state|NN regnode *startbranch \
|NN regnode *first|NN regnode *last|NN regnode *tail \
|U32 flags
#endif
sR |I32 |sublex_start
sR |char * |filter_gets |NN SV *sv|NN PerlIO *fp|STRLEN append
sR |HV * |find_in_my_stash|NN const char *pkgname|I32 len
-sR |char * |tokenize_use |int is_use|NN char*
+sR |char * |tokenize_use |int is_use|NN char *s
s |SV* |new_constant |NULLOK const char *s|STRLEN len|NN const char *key|NN SV *sv \
|NULLOK SV *pv|NULLOK const char *type
# if defined(DEBUGGING)
} '/dev/null', '', '';
local $^I = '.bak';
while (<>) {
-# if (/^#\s*include\s+"perl.h"/) {
-# my $file = uc $ARGV;
-# $file =~ s/\./_/g;
-# print "#define PERL_IN_$file\n";
-# }
-# s{^(\w+)\s*\(}
-# {
-# my $f = $1;
-# my $repl = "$f(";
-# if (exists $functions->{$f}) {
-# my $flags = $functions->{$f}[0];
-# $repl = "Perl_$repl" if $flags =~ /p/;
-# unless ($flags =~ /n/) {
-# $repl .= "pTHX";
-# $repl .= "_ " if @{$functions->{$f}} > 3;
-# }
-# warn("$ARGV:$.:$repl\n");
-# }
-# $repl;
-# }e;
s{(\b(\w+)[ \t]*\([ \t]*(?!aTHX))}
{
my $repl = $1;
}
push( @nonnull, $n ) if ( $arg =~ s/\s*\bNN\b\s+// );
$arg =~ s/\s*\bNULLOK\b\s+//; # strip NULLOK with no effect
+
+ # Make sure each arg has at least a type and a var name.
+ # An arg of "int" is valid C, but want it to be "int foo".
+ my $temp_arg = $arg;
+ $temp_arg =~ s/\*//g;
+ $temp_arg =~ s/\s*\bstruct\b\s*/ /g;
+ if ( ($temp_arg ne "...") && ($temp_arg !~ /\w+\s+\w+/) ) {
+ warn "$func: $arg doesn't have a name\n";
+ }
}
$ret .= join ", ", @args;
}
PERL_CALLCONV Signal_t Perl_sighandler(int sig);
PERL_CALLCONV Signal_t Perl_csighandler(int sig);
#endif
-PERL_CALLCONV SV** Perl_stack_grow(pTHX_ SV** sp, SV**p, int n)
+PERL_CALLCONV SV** Perl_stack_grow(pTHX_ SV** sp, SV** p, int n)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#endif
-PERL_CALLCONV void Perl_sv_nosharing(pTHX_ SV *);
-/* PERL_CALLCONV void Perl_sv_nolocking(pTHX_ SV *); */
-/* PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *); */
+PERL_CALLCONV void Perl_sv_nosharing(pTHX_ SV *sv);
+/* PERL_CALLCONV void Perl_sv_nolocking(pTHX_ SV *sv); */
+/* PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *sv); */
PERL_CALLCONV int Perl_nothreadhook(pTHX);
END_EXTERN_C
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-STATIC char* S_nextchar(pTHX_ struct RExC_state_t*)
+STATIC char* S_nextchar(pTHX_ struct RExC_state_t *state)
__attribute__nonnull__(pTHX_1);
# ifdef DEBUGGING
__attribute__nonnull__(pTHX_1);
# endif
-STATIC void S_scan_commit(pTHX_ struct RExC_state_t*, struct scan_data_t *data)
+STATIC void S_scan_commit(pTHX_ struct RExC_state_t* state, struct scan_data_t *data)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-STATIC void S_cl_anything(pTHX_ struct RExC_state_t*, struct regnode_charclass_class *cl)
+STATIC void S_cl_anything(pTHX_ struct RExC_state_t* state, struct regnode_charclass_class *cl)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
STATIC int S_cl_is_anything(pTHX_ const struct regnode_charclass_class *cl)
__attribute__nonnull__(pTHX_1);
-STATIC void S_cl_init(pTHX_ struct RExC_state_t*, struct regnode_charclass_class *cl)
+STATIC void S_cl_init(pTHX_ struct RExC_state_t* state, struct regnode_charclass_class *cl)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-STATIC void S_cl_init_zero(pTHX_ struct RExC_state_t*, struct regnode_charclass_class *cl)
+STATIC void S_cl_init_zero(pTHX_ struct RExC_state_t* state, struct regnode_charclass_class *cl)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-STATIC void S_cl_or(pTHX_ struct RExC_state_t*, struct regnode_charclass_class *cl, const struct regnode_charclass_class *or_with)
+STATIC void S_cl_or(pTHX_ struct RExC_state_t* state, struct regnode_charclass_class *cl, const struct regnode_charclass_class *or_with)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
-STATIC I32 S_study_chunk(pTHX_ struct RExC_state_t* pRExC_state, regnode **scanp, I32 *deltap, regnode *last, struct scan_data_t *data, U32 flags, U32 depth)
+STATIC I32 S_study_chunk(pTHX_ struct RExC_state_t* state, regnode **scanp, I32 *deltap, regnode *last, struct scan_data_t *data, U32 flags, U32 depth)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3)
__attribute__nonnull__(pTHX_4);
-STATIC I32 S_add_data(pTHX_ struct RExC_state_t*, I32 n, const char *s)
+STATIC I32 S_add_data(pTHX_ struct RExC_state_t* state, I32 n, const char *s)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_3);
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-STATIC I32 S_regpposixcc(pTHX_ struct RExC_state_t*, I32 value)
+STATIC I32 S_regpposixcc(pTHX_ struct RExC_state_t* state, I32 value)
__attribute__nonnull__(pTHX_1);
-STATIC void S_checkposixcc(pTHX_ struct RExC_state_t*)
+STATIC void S_checkposixcc(pTHX_ struct RExC_state_t* state)
__attribute__nonnull__(pTHX_1);
-STATIC I32 S_make_trie(pTHX_ struct RExC_state_t*, regnode *startbranch, regnode *first, regnode *last, regnode *tail, U32 flags)
+STATIC I32 S_make_trie(pTHX_ struct RExC_state_t* state, regnode *startbranch, regnode *first, regnode *last, regnode *tail, U32 flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-STATIC char * S_tokenize_use(pTHX_ int is_use, char*)
+STATIC char * S_tokenize_use(pTHX_ int is_use, char *s)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2);