view release on metacpan or search on metacpan
lib/Acme/ppport.h view on Meta::CPAN
333435363738394041424344454647484950515253--version show version
--patch=file
write
one patch file
with
changes
--copy=suffix
write
changed copies
with
suffix
--compat-version=version provide compatibility
with
Perl version
--cplusplus
accept
C++ comments
--quiet don't output anything except fatal errors
--nodiag don't show diagnostics
--nohints don't show hints
--nochanges don't suggest changes
--nofilter don't filter input files
--strip strip all script and doc functionality from
lib/Acme/ppport.h
--list-provided list provided API
--list-unsupported list unsupported API
lib/Acme/ppport.h view on Meta::CPAN
103104105106107108109110111112113114115116117118119120121122123=head2 --cplusplus
Usually, F<lib/Acme/ppport.h> will detect C++ style comments and
replace them with C style comments for portability reasons.
Using this option instructs F<lib/Acme/ppport.h> to leave C++
comments untouched.
=head2 --quiet
Be quiet. Don't print anything except fatal errors.
=head2 --nodiag
Don't output any diagnostic messages. Only portability
alerts will be printed.
=head2 --nohints
Don't output any hints. Hints often contain useful portability
notes. Warnings will still be displayed.
lib/Acme/ppport.h view on Meta::CPAN
694695696697698699700701702703704705706707708709710711712713714PL_copline|5.021008||p
PL_curcop|5.004050||p
PL_curpad||5.005000|
PL_curstash|5.004050||p
PL_debstash|5.004050||p
PL_defgv|5.004050||p
PL_diehook|5.004050||p
PL_dirty|5.004050||p
PL_dowarn|||pn
PL_errgv|5.004050||p
PL_error_count|5.021008||p
PL_expect|5.021008||p
PL_hexdigit|5.005000||p
PL_hints|5.005000||p
PL_in_my_stash|5.021008||p
PL_in_my|5.021008||p
PL_keyword_plugin||5.011002|
PL_last_in_gv|||n
PL_laststatval|5.005000||p
PL_lex_state|5.021008||p
PL_lex_stuff|5.021008||p
lib/Acme/ppport.h view on Meta::CPAN
782783784785786787788789790791792793794795796797798799800801802PadnameTYPE|||
PadnameUTF8||5.021007|
PadnamelistARRAY||5.021008|
PadnamelistMAX||5.021008|
PadnamelistREFCNT_dec||5.021008|
PadnamelistREFCNT||5.021008|
PerlIO_clearerr||5.007003|
PerlIO_close||5.007003|
PerlIO_context_layers||5.009004|
PerlIO_eof||5.007003|
PerlIO_error||5.007003|
PerlIO_fileno||5.007003|
PerlIO_fill||5.007003|
PerlIO_flush||5.007003|
PerlIO_get_base||5.007003|
PerlIO_get_bufsiz||5.007003|
PerlIO_get_cnt||5.007003|
PerlIO_get_ptr||5.007003|
PerlIO_read||5.007003|
PerlIO_restore_errno|||
PerlIO_save_errno|||
lib/Acme/ppport.h view on Meta::CPAN
200220032004200520062007200820092010201120122013201420152016201720182019202020212022my_pclose||5.003070|
my_popen_list||5.007001|
my_popen||5.003070|
my_setenv|||
my_setlocale|||
my_snprintf|5.009004||pvn
my_socketpair||5.007003|n
my_sprintf|5.009003||pvn
my_stat_flags|||
my_stat||5.021008|
my_strerror||5.021001|
my_strftime||5.007002|
my_strlcat|5.009004||pn
my_strlcpy|5.009004||pn
my_unexec|||
my_vsnprintf||5.009004|n
need_utf8|||n
newANONATTRSUB||5.006000|
newANONHASH|||
newANONLIST|||
newANONSUB|||
lib/Acme/ppport.h view on Meta::CPAN
225422552256225722582259226022612262226322642265226622672268226922702271227222732274ptr_table_split||5.009005|
ptr_table_store||5.009005|
push_scope|||
put_charclass_bitmap_innards|||
put_code_point|||
put_range|||
pv_display|5.006000||p
pv_escape|5.009004||p
pv_pretty|5.009004||p
pv_uni_display||5.007003|
qerror|||
qsortsvu|||
quadmath_format_needed|||n
quadmath_format_single|||n
re_compile||5.009005|
re_croak2|||
re_dup_guts|||
re_intuit_start||5.019001|
re_intuit_string||5.006000|
re_op_compile|||
realloc||5.007002|n
lib/Acme/ppport.h view on Meta::CPAN
28342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862warner_nocontext|||vn
warner|5.006000|5.004000|pv
warn
|||v
was_lvalue_sub|||
watch|||
whichsig_pvn||5.015004|
whichsig_pv||5.015004|
whichsig_sv||5.015004|
whichsig|||
win32_croak_not_implemented|||n
with_queued_errors|||
wrap_op_checker||5.015008|
write_to_stderr|||
xs_boot_epilog|||
xs_handshake|||vn
xs_version_bootcheck|||
yyerror_pvn|||
yyerror_pv|||
yyerror|||
yylex|||
yyparse|||
yyunlex|||
yywarn|||
);
if
(
exists
$opt
{
'list-unsupported'
}) {
my
$f
;
for
$f
(
sort
{
lc
$a
cmp
lc
$b
}
keys
%API
) {
next
unless
$API
{
$f
}{todo};
lib/Acme/ppport.h view on Meta::CPAN
329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331
}
my
$s
=
$warnings
!= 1 ?
's'
:
''
;
my
$warn
=
$warnings
?
" ($warnings warning$s)"
:
''
;
info(
"Analysis completed$warn"
);
if
(
$file
{changes}) {
if
(
exists
$opt
{copy}) {
my
$newfile
=
"$filename$opt{copy}"
;
if
(-e
$newfile
) {
error(
"'$newfile' already exists, refusing to write copy of '$filename'"
);
}
else
{
local
*F
;
if
(
open
F,
">$newfile"
) {
info(
"Writing copy of '$filename' with changes to '$newfile'"
);
F
$c
;
close
F;
}
else
{
error(
"Cannot open '$newfile' for writing: $!"
);
}
}
}
elsif
(
exists
$opt
{patch} ||
$opt
{changes}) {
if
(
exists
$opt
{patch}) {
unless
(
$patch_opened
) {
if
(
open
PATCH,
">$opt{patch}"
) {
$patch_opened
= 1;
}
else
{
error(
"Cannot open '$opt{patch}' for writing: $!"
);
delete
$opt
{patch};
$opt
{changes} = 1;
goto
fallback;
}
}
mydiff(\
*PATCH
,
$filename
,
$c
);
}
else
{
fallback:
info(
"Suggested changes:"
);
lib/Acme/ppport.h view on Meta::CPAN
336933703371337233733374337533763377337833793380338133823383338433853386338733883389
if
(!
defined
$diff
) {
$diff
= run_diff(
'diff -u'
,
$file
,
$str
);
}
if
(!
defined
$diff
) {
$diff
= run_diff(
'diff'
,
$file
,
$str
);
}
if
(!
defined
$diff
) {
error(
"Cannot generate a diff. Please install Text::Diff or use --copy."
);
return
;
}
F
$diff
;
}
sub
run_diff
{
my
(
$prog
,
$file
,
$str
) =
@_
;
my
$tmp
=
'dppptemp'
;
lib/Acme/ppport.h view on Meta::CPAN
340434053406340734083409341034113412341334143415341634173418341934203421342234233424
$diff
.=
$_
;
}
close
F;
unlink
$tmp
;
return
$diff
;
}
unlink
$tmp
;
}
else
{
error(
"Cannot open '$tmp' for writing: $!"
);
}
return
undef
;
}
sub
rec_depend
{
my
(
$func
,
$seen
) =
@_
;
return
()
unless
exists
$depends
{
$func
};
$seen
= {%{
$seen
||{}}};
lib/Acme/ppport.h view on Meta::CPAN
349134923493349434953496349734983499350035013502350335043505350635073508350935103511
$opt
{quiet} and
return
;
$opt
{diag} and
@_
,
"\n"
;
}
sub
warning
{
$opt
{quiet} and
return
;
"*** "
,
@_
,
"\n"
;
}
sub
error
{
"*** ERROR: "
,
@_
,
"\n"
;
}
my
%given_hints
;
my
%given_warnings
;
sub
hint
{
$opt
{quiet} and
return
;
my
$func
=
shift
;
lib/Acme/ppport.h view on Meta::CPAN
361936203621362236233624362536263627362836293630363136323633363436353636363736383639# endif
#endif
#define _dpppDEC2BCD(dec) ((((dec)/100)<<8)|((((dec)%100)/10)<<4)|((dec)%10))
#define PERL_BCDVERSION ((_dpppDEC2BCD(PERL_REVISION)<<24)|(_dpppDEC2BCD(PERL_VERSION)<<12)|_dpppDEC2BCD(PERL_SUBVERSION))
(or greater), but who knows.
*/
#if PERL_REVISION != 5
# error lib/Acme/ppport.h only works with Perl version 5
#endif /* PERL_REVISION != 5 */
#ifndef dTHR
# define dTHR dNOOP
#endif
#ifndef dTHX
# define dTHX dNOOP
#endif
#ifndef dTHXa
# define dTHXa(x) dNOOP
lib/Acme/ppport.h view on Meta::CPAN
456245634564456545664567456845694570457145724573457445754576457745784579458045814582# define PL_compiling compiling
# define PL_copline copline
# define PL_curcop curcop
# define PL_curstash curstash
# define PL_debstash debstash
# define PL_defgv defgv
# define PL_diehook diehook
# define PL_dirty dirty
# define PL_dowarn dowarn
# define PL_errgv errgv
# define PL_error_count error_count
# define PL_expect expect
# define PL_hexdigit hexdigit
# define PL_hints hints
# define PL_in_my in_my
# define PL_laststatval laststatval
# define PL_lex_state lex_state
# define PL_lex_stuff lex_stuff
# define PL_linestr linestr
# define PL_na na
# define PL_perl_destruct_level perl_destruct_level
lib/Acme/ppport.h view on Meta::CPAN
465146524653465446554656465746584659466046614662466346644665466646674668466946704671# define PL_rsfp D_PPP_my_PL_parser_var(rsfp)
# define PL_rsfp_filters D_PPP_my_PL_parser_var(rsfp_filters)
# define PL_linestr D_PPP_my_PL_parser_var(linestr)
# define PL_bufptr D_PPP_my_PL_parser_var(bufptr)
# define PL_bufend D_PPP_my_PL_parser_var(bufend)
# define PL_lex_state D_PPP_my_PL_parser_var(lex_state)
# define PL_lex_stuff D_PPP_my_PL_parser_var(lex_stuff)
# define PL_tokenbuf D_PPP_my_PL_parser_var(tokenbuf)
# define PL_in_my D_PPP_my_PL_parser_var(in_my)
# define PL_in_my_stash D_PPP_my_PL_parser_var(in_my_stash)
# define PL_error_count D_PPP_my_PL_parser_var(error_count)
#else
/* ensure that PL_parser != NULL and cannot be dereferenced */
# define PL_parser ((void *) 1)
#endif
#ifndef mPUSHs
# define mPUSHs(s) PUSHs(sv_2mortal(s))
lib/Acme/ppport.h view on Meta::CPAN
4758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806# else
# define call_sv(sv, flags) ((flags) & G_METHOD ? Perl_call_method(aTHX_ (char *) SvPV_nolen_const(sv), \
(flags) & ~G_METHOD) : Perl_call_sv(aTHX_ sv, flags))
# endif
#endif
/* Replace perl_eval_pv
with
eval_pv */
#ifndef eval_pv
#if defined(NEED_eval_pv)
static SV* DPPP_(my_eval_pv)(char
*p
, I32 croak_on_error);
static
#else
extern SV* DPPP_(my_eval_pv)(char
*p
, I32 croak_on_error);
#endif
#ifdef eval_pv
# undef eval_pv
#endif
#define eval_pv(a,b) DPPP_(my_eval_pv)(aTHX_ a,b)
#define Perl_eval_pv DPPP_(my_eval_pv)
#if defined(NEED_eval_pv) || defined(NEED_eval_pv_GLOBAL)
SV*
DPPP_(my_eval_pv)(char
*p
, I32 croak_on_error)
{
dSP;
SV* sv = newSVpv(p, 0);
PUSHMARK(sp);
eval_sv(sv, G_SCALAR);
SvREFCNT_dec(sv);
SPAGAIN;
sv = POPs;
PUTBACK;
if
(croak_on_error && SvTRUE(GvSV(errgv)))
croak(SvPVx(GvSV(errgv), na));
return
sv;
}
#endif
#endif
#ifndef vload_module
#if defined(NEED_vload_module)
lib/Acme/ppport.h view on Meta::CPAN
510651075108510951105111511251135114511551165117511851195120512151225123512451255126# define UVof "lo"
# define UVxf "lx"
# define UVXf "lX"
# elif IVSIZE == INTSIZE
# define IVdf "d"
# define UVuf "u"
# define UVof "o"
# define UVxf "x"
# define UVXf "X"
# else
# error "cannot define IV/UV formats"
# endif
#endif
#ifndef NVef
# if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE) && \
defined
(PERL_PRIfldbl) && (PERL_BCDVERSION != 0x5006000)
/* Not very likely, but let's
try
anyway. */
# define NVef PERL_PRIeldbl
# define NVff PERL_PRIfldbl
# define NVgf PERL_PRIgldbl