################################################################################
##
## Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
## This program is free software; you can redistribute it and/or
## modify it under the same terms as Perl itself.
##
################################################################################
=provides
newSV_type
=implementation
#ifndef newSV_type
#if defined(PERL_USE_GCC_BRACE_GROUPS)
# define newSV_type(t) ({ SV *_sv = newSV(0); sv_upgrade(_sv, (t)); _sv; })
#else
# define newSV_type(t) ((PL_Sv = newSV(0)), sv_upgrade(PL_Sv, (t)), PL_Sv)
#endif
#endif
=xsubs
int
newSV_type()
PREINIT:
SV* sv;
CODE:
RETVAL = 0;
sv = newSV_type(SVt_NULL);
if (SvTYPE(sv) == SVt_NULL)
{
RETVAL++;
}
SvREFCNT_dec(sv);
sv = newSV_type(SVt_PVIV);
if (SvTYPE(sv) == SVt_PVIV)
{
RETVAL++;
}
SvREFCNT_dec(sv);
sv = newSV_type(SVt_PVHV);
if (SvTYPE(sv) == SVt_PVHV)
{
RETVAL++;
}
SvREFCNT_dec(sv);
sv = newSV_type(SVt_PVAV);
if (SvTYPE(sv) == SVt_PVAV)
{
RETVAL++;
}
SvREFCNT_dec(sv);
OUTPUT:
RETVAL
=tests plan => 1
is(Devel::PPPort::newSV_type(), 4);