This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Merge the implementation of B::IV::{needs64bits,packiv} using ALIAS.
[perl5.git] / ext / B / typemap
CommitLineData
a8a597b2
MB
1TYPEMAP
2
3B::OP T_OP_OBJ
4B::UNOP T_OP_OBJ
5B::BINOP T_OP_OBJ
6B::LOGOP T_OP_OBJ
a8a597b2
MB
7B::LISTOP T_OP_OBJ
8B::PMOP T_OP_OBJ
9B::SVOP T_OP_OBJ
7934575e 10B::PADOP T_OP_OBJ
a8a597b2 11B::PVOP T_OP_OBJ
a8a597b2
MB
12B::LOOP T_OP_OBJ
13B::COP T_OP_OBJ
14
15B::SV T_SV_OBJ
16B::PV T_SV_OBJ
17B::IV T_SV_OBJ
18B::NV T_SV_OBJ
19B::PVMG T_SV_OBJ
5c35adbb 20B::REGEXP T_SV_OBJ
a8a597b2
MB
21B::PVLV T_SV_OBJ
22B::BM T_SV_OBJ
23B::RV T_SV_OBJ
24B::GV T_SV_OBJ
25B::CV T_SV_OBJ
26B::HV T_SV_OBJ
27B::AV T_SV_OBJ
28B::IO T_SV_OBJ
1df34986 29B::FM T_SV_OBJ
a8a597b2
MB
30
31B::MAGIC T_MG_OBJ
32SSize_t T_IV
fee282c3 33STRLEN T_UV
7934575e 34PADOFFSET T_UV
a8a597b2 35
fd9f6265
JJ
36B::HE T_HE_OBJ
37B::RHE T_RHE_OBJ
38
a8a597b2
MB
39INPUT
40T_OP_OBJ
41 if (SvROK($arg)) {
42 IV tmp = SvIV((SV*)SvRV($arg));
56431972 43 $var = INT2PTR($type,tmp);
a8a597b2
MB
44 }
45 else
46 croak(\"$var is not a reference\")
47
48T_SV_OBJ
49 if (SvROK($arg)) {
50 IV tmp = SvIV((SV*)SvRV($arg));
56431972 51 $var = INT2PTR($type,tmp);
a8a597b2
MB
52 }
53 else
54 croak(\"$var is not a reference\")
55
56T_MG_OBJ
57 if (SvROK($arg)) {
58 IV tmp = SvIV((SV*)SvRV($arg));
56431972 59 $var = INT2PTR($type,tmp);
a8a597b2
MB
60 }
61 else
62 croak(\"$var is not a reference\")
63
fd9f6265
JJ
64T_HE_OBJ
65 if (SvROK($arg)) {
66 IV tmp = SvIV((SV*)SvRV($arg));
67 $var = INT2PTR($type,tmp);
68 }
69 else
70 croak(\"$var is not a reference\")
71
72T_RHE_OBJ
73 if (SvROK($arg)) {
74 IV tmp = SvIV((SV*)SvRV($arg));
75 $var = INT2PTR($type,tmp);
76 }
77 else
78 croak(\"$var is not a reference\")
79
a8a597b2
MB
80OUTPUT
81T_OP_OBJ
56431972 82 sv_setiv(newSVrv($arg, cc_opclassname(aTHX_ (OP*)$var)), PTR2IV($var));
a8a597b2
MB
83
84T_SV_OBJ
cea2e8a9 85 make_sv_object(aTHX_ ($arg), (SV*)($var));
a8a597b2
MB
86
87
88T_MG_OBJ
56431972 89 sv_setiv(newSVrv($arg, "B::MAGIC"), PTR2IV($var));
fd9f6265
JJ
90
91T_HE_OBJ
92 sv_setiv(newSVrv($arg, "B::HE"), PTR2IV($var));
93
94T_RHE_OBJ
95 sv_setiv(newSVrv($arg, "B::RHE"), PTR2IV($var));