SvREFCNT_inc SvREFCNT_inc_simple SvREFCNT_inc_NN SvREFCNT_inc_void SvREFCNT_dec_NN __UNDEFINED__

#ifndef SvREFCNT_inc # ifdef PERL_USE_GCC_BRACE_GROUPS # define SvREFCNT_inc(sv) \ ({ \ SV * const _sv = (SV*)(sv); \ if (_sv) \ (SvREFCNT(_sv))++; \ _sv; \ }) # else # define SvREFCNT_inc(sv) \ ((PL_Sv=(SV*)(sv)) ? (++(SvREFCNT(PL_Sv)),PL_Sv) : NULL) # endif #endif

#ifndef SvREFCNT_inc_simple # ifdef PERL_USE_GCC_BRACE_GROUPS # define SvREFCNT_inc_simple(sv) \ ({ \ if (sv) \ (SvREFCNT(sv))++; \ (SV *)(sv); \ }) # else # define SvREFCNT_inc_simple(sv) \ ((sv) ? (SvREFCNT(sv)++,(SV*)(sv)) : NULL) # endif #endif

#ifndef SvREFCNT_inc_NN # ifdef PERL_USE_GCC_BRACE_GROUPS # define SvREFCNT_inc_NN(sv) \ ({ \ SV * const _sv = (SV*)(sv); \ SvREFCNT(_sv)++; \ _sv; \ }) # else # define SvREFCNT_inc_NN(sv) \ (PL_Sv=(SV*)(sv),++(SvREFCNT(PL_Sv)),PL_Sv) # endif #endif

#ifndef SvREFCNT_inc_void # ifdef PERL_USE_GCC_BRACE_GROUPS # define SvREFCNT_inc_void(sv) \ ({ \ SV * const _sv = (SV*)(sv); \ if (_sv) \ (void)(SvREFCNT(_sv)++); \ }) # else # define SvREFCNT_inc_void(sv) \ (void)((PL_Sv=(SV*)(sv)) ? ++(SvREFCNT(PL_Sv)) : 0) # endif #endif

#ifndef SvREFCNT_dec_NN # ifdef PERL_USE_GCC_BRACE_GROUPS # define SvREFCNT_dec_NN(sv) \ ({ \ SV * const _sv = (SV*)(sv); \ SvREFCNT(_sv)--; \ _sv; \ }) # else # define SvREFCNT_dec_NN(sv) \ (PL_Sv=(SV*)(sv),--(SvREFCNT(PL_Sv)),PL_Sv) # endif #endif

__UNDEFINED__ SvREFCNT_inc_simple_void(sv) STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END __UNDEFINED__ SvREFCNT_inc_simple_NN(sv) (++SvREFCNT(sv), (SV*)(sv)) __UNDEFINED__ SvREFCNT_inc_void_NN(sv) (void)(++SvREFCNT((SV*)(sv))) __UNDEFINED__ SvREFCNT_inc_simple_void_NN(sv) (void)(++SvREFCNT((SV*)(sv)))

void SvREFCNT() PREINIT: SV *sv, *svr; PPCODE: sv = newSV(0); mXPUSHi(SvREFCNT(sv) == 1); svr = SvREFCNT_inc(sv); mXPUSHi(sv == svr); mXPUSHi(SvREFCNT(sv) == 2); svr = SvREFCNT_inc_simple(sv); mXPUSHi(sv == svr); mXPUSHi(SvREFCNT(sv) == 3); svr = SvREFCNT_inc_NN(sv); mXPUSHi(sv == svr); mXPUSHi(SvREFCNT(sv) == 4); svr = SvREFCNT_inc_simple_NN(sv); mXPUSHi(sv == svr); mXPUSHi(SvREFCNT(sv) == 5); SvREFCNT_inc_void(sv); mXPUSHi(SvREFCNT(sv) == 6); SvREFCNT_inc_simple_void(sv); mXPUSHi(SvREFCNT(sv) == 7); SvREFCNT_inc_void_NN(sv); mXPUSHi(SvREFCNT(sv) == 8); SvREFCNT_inc_simple_void_NN(sv); mXPUSHi(SvREFCNT(sv) == 9); SvREFCNT_dec_NN(sv); mXPUSHi(SvREFCNT(sv) == 8); while (SvREFCNT(sv) > 1) SvREFCNT_dec(sv); mXPUSHi(SvREFCNT(sv) == 1); SvREFCNT_dec(sv); XSRETURN(15);

for (Devel::PPPort::SvREFCNT()) { ok(defined $_ and $_); }

4 POD Errors

The following errors were encountered while parsing the POD:

Around line 12:

Unknown directive: =provides

Around line 21:

Unknown directive: =implementation

Around line 99:

Unknown directive: =xsubs

Around line 136:

Unknown directive: =tests