This is a live mirror of the Perl 5 development currently hosted at
https://github.com/perl/perl5
https://perl5.git.perl.org
/
perl5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix clone_leak problem.
[perl5.git]
/
pp.h
diff --git
a/pp.h
b/pp.h
index
b05e6d0
..
1d9a933
100644
(file)
--- a/
pp.h
+++ b/
pp.h
@@
-7,13
+7,13
@@
*
*/
*
*/
-#ifdef USE_THREADS
+#ifdef USE_
5005
THREADS
#define ARGS thr
#define dARGS struct perl_thread *thr;
#else
#define ARGS
#define dARGS
#define ARGS thr
#define dARGS struct perl_thread *thr;
#else
#define ARGS
#define dARGS
-#endif /* USE_THREADS */
+#endif /* USE_
5005
THREADS */
#define PP(s) OP * Perl_##s(pTHX)
#define PP(s) OP * Perl_##s(pTHX)
@@
-55,6
+55,7
@@
Refetch the stack pointer. Used after a callback. See L<perlcall>.
=cut */
=cut */
+#undef SP /* Solaris 2.7 i386 has this in /usr/include/sys/reg.h */
#define SP sp
#define MARK mark
#define TARG targ
#define SP sp
#define MARK mark
#define TARG targ
@@
-66,8
+67,8
@@
Refetch the stack pointer. Used after a callback. See L<perlcall>.
#define TOPMARK (*PL_markstack_ptr)
#define POPMARK (*PL_markstack_ptr--)
#define TOPMARK (*PL_markstack_ptr)
#define POPMARK (*PL_markstack_ptr--)
-#define d
jSP
register SV **sp = PL_stack_sp
-#define d
SP dj
SP
+#define d
SP
register SV **sp = PL_stack_sp
+#define d
jSP d
SP
#define dMARK register SV **mark = PL_stack_base + POPMARK
#define dORIGMARK I32 origmark = mark - PL_stack_base
#define SETORIGMARK origmark = mark - PL_stack_base
#define dMARK register SV **mark = PL_stack_base + POPMARK
#define dORIGMARK I32 origmark = mark - PL_stack_base
#define SETORIGMARK origmark = mark - PL_stack_base
@@
-99,7
+100,16
@@
See C<PUSHMARK> and L<perlcall> for other uses.
Pops an SV off the stack.
=for apidoc Amn|char*|POPp
Pops an SV off the stack.
=for apidoc Amn|char*|POPp
+Pops a string off the stack. Deprecated. New code should provide
+a STRLEN n_a and use POPpx.
+
+=for apidoc Amn|char*|POPpx
Pops a string off the stack.
Pops a string off the stack.
+Requires a variable STRLEN n_a in scope.
+
+=for apidoc Amn|char*|POPpbytex
+Pops a string off the stack which must consist of bytes i.e. characters < 256.
+Requires a variable STRLEN n_a in scope.
=for apidoc Amn|NV|POPn
Pops a double off the stack.
=for apidoc Amn|NV|POPn
Pops a double off the stack.
@@
-121,6
+131,7
@@
Pops a long off the stack.
#define POPs (*sp--)
#define POPp (SvPVx(POPs, PL_na)) /* deprecated */
#define POPpx (SvPVx(POPs, n_a))
#define POPs (*sp--)
#define POPp (SvPVx(POPs, PL_na)) /* deprecated */
#define POPpx (SvPVx(POPs, n_a))
+#define POPpbytex (SvPVbytex(POPs, n_a))
#define POPn (SvNVx(POPs))
#define POPi ((IV)SvIVx(POPs))
#define POPu ((UV)SvUVx(POPs))
#define POPn (SvNVx(POPs))
#define POPi ((IV)SvIVx(POPs))
#define POPu ((UV)SvUVx(POPs))
@@
-133,6
+144,7
@@
Pops a long off the stack.
#define TOPs (*sp)
#define TOPm1s (*(sp-1))
#define TOPs (*sp)
#define TOPm1s (*(sp-1))
+#define TOPp1s (*(sp+1))
#define TOPp (SvPV(TOPs, PL_na)) /* deprecated */
#define TOPpx (SvPV(TOPs, n_a))
#define TOPn (SvNV(TOPs))
#define TOPp (SvPV(TOPs, PL_na)) /* deprecated */
#define TOPpx (SvPV(TOPs, n_a))
#define TOPn (SvNV(TOPs))
@@
-332,6
+344,7
@@
See C<PUSHu>.
if (PL_amagic_generation) { \
SV* tmpsv; \
SV* arg= sp[shift]; \
if (PL_amagic_generation) { \
SV* tmpsv; \
SV* arg= sp[shift]; \
+ if(0) goto am_again; /* shut up unused warning */ \
am_again: \
if ((SvAMAGIC(arg))&&\
(tmpsv=AMG_CALLun(arg,meth))) {\
am_again: \
if ((SvAMAGIC(arg))&&\
(tmpsv=AMG_CALLun(arg,meth))) {\