summaryrefslogtreecommitdiff
path: root/ext/XS-Typemap/Typemap.xs
diff options
context:
space:
mode:
Diffstat (limited to 'ext/XS-Typemap/Typemap.xs')
-rw-r--r--ext/XS-Typemap/Typemap.xs30
1 files changed, 30 insertions, 0 deletions
diff --git a/ext/XS-Typemap/Typemap.xs b/ext/XS-Typemap/Typemap.xs
index 397052d1cb..9250e3e110 100644
--- a/ext/XS-Typemap/Typemap.xs
+++ b/ext/XS-Typemap/Typemap.xs
@@ -267,6 +267,13 @@ T_SV( sv )
OUTPUT:
RETVAL
+void
+T_SV_output(sv)
+ SV *sv
+ CODE:
+ sv = sv_2mortal(newSVpvn("test", 4));
+ OUTPUT:
+ sv
## T_SVREF
@@ -290,6 +297,11 @@ T_SVREF_REFCOUNT_FIXED( svref )
OUTPUT:
RETVAL
+void
+T_SVREF_REFCOUNT_FIXED_output( OUT svref )
+ SVREF_FIXED svref
+ CODE:
+ svref = newSVpvn("test", 4);
## T_AVREF
@@ -313,6 +325,12 @@ T_AVREF_REFCOUNT_FIXED( av )
OUTPUT:
RETVAL
+void
+T_AVREF_REFCOUNT_FIXED_output( OUT avref)
+ AV_FIXED *avref;
+ CODE:
+ avref = newAV();
+ av_push(avref, newSVpvs("test"));
## T_HVREF
@@ -336,6 +354,12 @@ T_HVREF_REFCOUNT_FIXED( hv )
OUTPUT:
RETVAL
+void
+T_HVREF_REFCOUNT_FIXED_output( OUT hvref)
+ HV_FIXED *hvref;
+ CODE:
+ hvref = newHV();
+ hv_stores(hvref, "test", newSVpvs("value"));
## T_CVREF
@@ -359,6 +383,12 @@ T_CVREF_REFCOUNT_FIXED( cv )
OUTPUT:
RETVAL
+void
+T_CVREF_REFCOUNT_FIXED_output( OUT cvref)
+ CV_FIXED *cvref;
+ CODE:
+ cvref = get_cv("XSLoader::load", 0);
+ SvREFCNT_inc(cvref);
## T_SYSRET