/* This code is compiled twice, once with -DPERL_CORE defined, once without */
#include "EXTERN.h"
#include "perl.h"
#ifdef PERL_CORE
# define SUFFIX core
#else
# define SUFFIX notcore
#endif
bool
CAT2(sv_setsv_cow_hashkey_, SUFFIX) () {
dTHX;
SV *source = newSVpvn_share("pie", 3, 0);
SV *destination = newSV(0);
bool result;
if(!SvIsCOW(source)) {
SvREFCNT_dec(source);
Perl_croak(aTHX_ "Creating a shared hash key scalar failed when "
STRINGIFY(SUFFIX) " got flags %"UVxf, (UV)SvFLAGS(source));
}
sv_setsv(destination, source);
result = !!SvIsCOW(destination);
SvREFCNT_dec(source);
SvREFCNT_dec(destination);
return result;
}
/*
* Local variables:
* mode: c
* End:
*
* ex: set ts=8 sts=4 sw=4 et:
*/