PERL PERL5 CHANGES 28 CHANGE 23315 INTEGRATE
Date: Fri, 10 Sep 2004 04:00:00 -0700

Subject: Change 23315: Integrate:
From: nick@no-spam (Nicholas Clark)

Change 23315 by nicholas@no-spam on 2004/09/10 10:34:45

Integrate:
[ 23280]
Upgrade to Devel::PPPort 3.02.

[ 23282]
Upgrade to Devel::PPPort 3.03.

Affected files ...

... //depot/maint-5.8/perl/ext/Devel/PPPort/Changes#10 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/META.yml#3 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/PPPort.pm#20 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/PPPort.xs#4 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/PPPort_pm.PL#3 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/devel/scanprov#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/mktests.PL#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/parts/base/5004050#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/parts/base/5005000#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/parts/base/5006000#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/parts/base/5008001#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/parts/base/5009002#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/parts/inc/MY_CXT#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/parts/inc/misc#3 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/t/MY_CXT.t#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/t/SvPV.t#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/t/call.t#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/t/cop.t#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/t/grok.t#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/t/limits.t#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/t/mPUSH.t#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/t/magic.t#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/t/misc.t#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/t/newCONSTSUB.t#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/t/newRV.t#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/t/ppphtest.t#3 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/t/sv_xpvf.t#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/t/threads.t#2 integrate ... //depot/maint-5.8/perl/ext/Devel/PPPort/t/uv.t#3 integrate
Differences ...

==== //depot/maint-5.8/perl/ext/Devel/PPPort/Changes#10 (xtext) ====
Index: perl/ext/Devel/PPPort/Changes --- perl/ext/Devel/PPPort/Changes#9~23269~ Sun Sep 5 14:03:20 2004
+++ perl/ext/Devel/PPPort/Changes Fri Sep 10 03:34:45 2004
@@no-spam -1,3 +1,18 @@no-spam +3.03 - 2004-09-08
+
+ * MY_CXT_CLONE was broken +
+3.02 - 2004-09-08
+
+ * added support for the following API:
+ END_EXTERN_C + EXTERN_C + MY_CXT_CLONE + PERL_GCC_BRACE_GROUPS_FORBIDDEN + START_EXTERN_C + STMT_END + STMT_START +
3.01 - 2004-08-23
* patchlevel.h tweak
==== //depot/maint-5.8/perl/ext/Devel/PPPort/META.yml#3 (text) ====
Index: perl/ext/Devel/PPPort/META.yml --- perl/ext/Devel/PPPort/META.yml#2~23269~ Sun Sep 5 14:03:20 2004
+++ perl/ext/Devel/PPPort/META.yml Fri Sep 10 03:34:45 2004
@@no-spam -1,7 +1,7 @@no-spam # http://module-build.sourceforge.net/META-spec.html #XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
name: Devel-PPPort -version: 3.01
+version: 3.03
version_from: PPPort_pm.PL installdirs: perl requires:

==== //depot/maint-5.8/perl/ext/Devel/PPPort/PPPort.pm#20 (text) ====
Index: perl/ext/Devel/PPPort/PPPort.pm --- perl/ext/Devel/PPPort/PPPort.pm#19~23269~ Sun Sep 5 14:03:20 2004
+++ perl/ext/Devel/PPPort/PPPort.pm Fri Sep 10 03:34:45 2004
@@no-spam -143,9 +143,11 @@no-spam dTHXa dTHXoa dUNDERBAR + END_EXTERN_C ERRSV eval_pv eval_sv + EXTERN_C get_av get_cv get_hv @@no-spam -183,6 +185,7 @@no-spam mXPUSHp mXPUSHu MY_CXT + MY_CXT_CLONE MY_CXT_INIT newCONSTSUB newRV_inc @@no-spam -196,6 +199,7 @@no-spam NVgf NVTYPE PERL_BCDVERSION + PERL_GCC_BRACE_GROUPS_FORBIDDEN PERL_INT_MAX PERL_INT_MIN PERL_LONG_MAX @@no-spam -305,7 +309,10 @@no-spam PUSHmortal PUSHu SAVE_DEFSV + START_EXTERN_C START_MY_CXT + STMT_END + STMT_START sv_2pv_nolen sv_2pvbyte sv_2uv @@no-spam -866,7 +873,7 @@no-spam use strict;
use vars qw($VERSION @no-spam $data);
-$VERSION = do { my @no-spam = '$Snapshot: /Devel-PPPort/3.01 $' =~ /(\d+\.\d+(?:_\d+)?)/; @no-spam ? $r[0] : '9.99' };

+$VERSION = do { my @no-spam = '$Snapshot: /Devel-PPPort/3.03 $' =~ /(\d+\.\d+(?:_\d+)?)/; @no-spam ? $r[0] : '9.99' };

@no-spam = qw(DynaLoader);
@@no-spam -1300,9 +1307,11 @@no-spam CvSTASH|||
CvWEAKOUTSIDE|||
DEFSV|5.004050||p +END_EXTERN_C|5.005000||p ENTER|||
ERRSV|5.004050||p EXTEND|||
+EXTERN_C|5.005000||p FREETMPS|||
GIMME_V||5.004000|n GIMME|||n @@no-spam -1343,6 +1352,7 @@no-spam LEAVE|||
LVRET|||
MARK|||
+MY_CXT_CLONE|5.009002||p MY_CXT_INIT|5.007003||p MY_CXT|5.007003||p MoveD|5.009002||p @@no-spam -1379,6 +1389,7 @@no-spam PAD_SVl|||
PAD_SV|||
PERL_BCDVERSION|5.009002||p +PERL_GCC_BRACE_GROUPS_FORBIDDEN|5.008001||p PERL_INT_MAX|5.004000||p PERL_INT_MIN|5.004000||p PERL_LONG_MAX|5.004000||p @@no-spam -1452,34 +1463,34 @@no-spam PL_copline|5.005000||p PL_curcop|5.004050||p PL_curstash|5.004050||p -PL_debstash|||p +PL_debstash|5.004050||p PL_defgv|5.004050||p -PL_diehook|||p +PL_diehook|5.004050||p PL_dirty|5.004050||p PL_dowarn|||pn -PL_errgv|||p +PL_errgv|5.004050||p PL_hexdigit|5.005000||p PL_hints|5.005000||p PL_last_in_gv|||n PL_modglobal||5.005000|n PL_na|5.004050||pn -PL_no_modify|||p +PL_no_modify|5.006000||p PL_ofs_sv|||n -PL_perl_destruct_level|||p +PL_perl_destruct_level|5.004050||p PL_perldb|5.004050||p -PL_ppaddr|||p +PL_ppaddr|5.006000||p PL_rsfp_filters|5.004050||p PL_rsfp|5.004050||p PL_rs|||n -PL_stack_base|||p -PL_stack_sp|||p +PL_stack_base|5.004050||p +PL_stack_sp|5.004050||p PL_stdingv|5.004050||p -PL_sv_arenaroot|||p +PL_sv_arenaroot|5.004050||p PL_sv_no|5.004050||pn PL_sv_undef|5.004050||pn PL_sv_yes|5.004050||pn -PL_tainted|||p -PL_tainting|||p +PL_tainted|5.004050||p +PL_tainting|5.004050||p POPi|||n POPl|||n POPn|||n @@no-spam -1533,7 +1544,10 @@no-spam SAVE_DEFSV|5.004050||p SPAGAIN|||
SP|||
+START_EXTERN_C|5.005000||p START_MY_CXT|5.007003||p +STMT_END|||p +STMT_START|||p ST|||
SVt_IV|||
SVt_NV|||
@@no-spam -3915,6 +3929,40 @@no-spam # endif #endif /* !INT2PTR */
+
+#undef START_EXTERN_C +#undef END_EXTERN_C +#undef EXTERN_C +#ifdef __cplusplus +# define START_EXTERN_C extern "C" {
+# define END_EXTERN_C }
+# define EXTERN_C extern "C"
+#else +# define START_EXTERN_C +# define END_EXTERN_C +# define EXTERN_C extern +#endif +
+#ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN +# if defined(__STRICT_ANSI__) && defined(PERL_GCC_PEDANTIC)
+# define PERL_GCC_BRACE_GROUPS_FORBIDDEN +# endif +#endif +
+#undef STMT_START +#undef STMT_END +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__cplusplus)

+# define STMT_START (void)( /* gcc supports ``({ STATEMENTS; })'' */
+# define STMT_END )
+#else +# if defined(VOIDFLAGS) && (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__)

+# define STMT_START if (1)
+# define STMT_END else (void)0
+# else +# define STMT_START do +# define STMT_END while (0)
+# endif +#endif #ifndef boolSV # define boolSV(b) ((b) ? &PL_sv_yes : &PL_sv_no)
#endif @@no-spam -4242,8 +4290,6 @@no-spam #endif #endif -#ifndef START_MY_CXT -
/*
* Boilerplate macros for initializing and accessing interpreter-local * data from C. All statics in extensions should be reworked to use @@no-spam -4266,6 +4312,8 @@no-spam #if defined(MULTIPLICITY) || defined(PERL_OBJECT) || \
defined(PERL_CAPI) || defined(PERL_IMPLICIT_CONTEXT)
+#ifndef START_MY_CXT +
/* This must appear in all extensions that define a my_cxt_t structure,
* right after the definition (i.e. at file scope). The non-threads * case below uses it to declare the data as static. */
@@no-spam -4310,8 +4358,21 @@no-spam #define aMY_CXT_ aMY_CXT,
#define _aMY_CXT ,aMY_CXT +#endif /* START_MY_CXT */
+
+#ifndef MY_CXT_CLONE +/* Clones the per-interpreter data. */
+#define MY_CXT_CLONE \
+ dMY_CXT_SV; \
+ my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\
+ Copy(INT2PTR(my_cxt_t*, SvUV(my_cxt_sv)), my_cxtp, 1, my_cxt_t);\
+ sv_setuv(my_cxt_sv, PTR2UV(my_cxtp))
+#endif +
#else /* single interpreter */
+#ifndef START_MY_CXT +
#define START_MY_CXT static my_cxt_t my_cxt;
#define dMY_CXT_SV dNOOP #define dMY_CXT dNOOP @@no-spam -4325,9 +4386,13 @@no-spam #define aMY_CXT_
#define _aMY_CXT -#endif -
#endif /* START_MY_CXT */
+
+#ifndef MY_CXT_CLONE +#define MY_CXT_CLONE NOOP +#endif +
+#endif #ifndef IVdf # if IVSIZE == LONGSIZE
==== //depot/maint-5.8/perl/ext/Devel/PPPort/PPPort.xs#4 (text+w) ====
Index: perl/ext/Devel/PPPort/PPPort.xs --- perl/ext/Devel/PPPort/PPPort.xs#3~23269~ Sun Sep 5 14:03:20 2004
+++ perl/ext/Devel/PPPort/PPPort.xs Fri Sep 10 03:34:45 2004
@@no-spam -721,6 +721,14 @@no-spam OUTPUT:
RETVAL +int +MY_CXT_CLONE()
+ CODE:
+ MY_CXT_CLONE;
+ RETVAL = 42;
+ OUTPUT:
+ RETVAL +
##----------------------------------------------------------------------
## XSUBs from parts/inc/newCONSTSUB ##----------------------------------------------------------------------

==== //depot/maint-5.8/perl/ext/Devel/PPPort/PPPort_pm.PL#3 (text) ====
Index: perl/ext/Devel/PPPort/PPPort_pm.PL --- perl/ext/Devel/PPPort/PPPort_pm.PL#2~23269~ Sun Sep 5 14:03:20 2004
+++ perl/ext/Devel/PPPort/PPPort_pm.PL Fri Sep 10 03:34:45 2004
@@no-spam -473,7 +473,7 @@no-spam use strict;
use vars qw($VERSION @no-spam $data);
-$VERSION = do { my @no-spam = '$Snapshot: /Devel-PPPort/3.01 $' =~ /(\d+\.\d+(?:_\d+)?)/; @no-spam ? $r[0] : '9.99' };

+$VERSION = do { my @no-spam = '$Snapshot: /Devel-PPPort/3.03 $' =~ /(\d+\.\d+(?:_\d+)?)/; @no-spam ? $r[0] : '9.99' };

@no-spam = qw(DynaLoader);

==== //depot/maint-5.8/perl/ext/Devel/PPPort/devel/scanprov#2 (text) ====
Index: perl/ext/Devel/PPPort/devel/scanprov --- perl/ext/Devel/PPPort/devel/scanprov#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/devel/scanprov Fri Sep 10 03:34:45 2004
@@no-spam -5,9 +5,9 @@no-spam #
################################################################################

#
-# $Revision: 3 $
+# $Revision: 4 $
# $Author: mhx $
-# $Date: 2004/08/13 12:50:11 +0200 $
+# $Date: 2004/09/08 21:08:46 +0200 $
#
################################################################################

#
@@no-spam -23,7 +23,8 @@no-spam use strict;
require 'parts/ppptools.pl';
-my $file = 'provided.c';
+die "Usage: $0 [check|write]\n" unless @no-spam && $ARGV[0] =~ /^(check|write)$/;

+my $mode = $1;
my %embed = map { ( $_->{name} => 1 ) }
parse_embed(qw(parts/embed.fnc parts/apidoc.fnc));
@@no-spam -47,6 +48,7 @@no-spam my %v;
for my $p (@no-spam {
+ print "checking perl $p->{version}...\n";
my $archlib = `$p->{path} -MConfig -l -e 'print \$Config{archlib}'`;
chomp $archlib;
local @no-spam = glob "$archlib/CORE/*.h";
@@no-spam -56,13 +58,20 @@no-spam }
my $out = 'parts/base';
+my $todo = parse_todo($out);
for my $v (keys %v) {
+ my @no-spam = sort grep { !exists $todo->{$_} } keys %{$v{$v}};
+ @no-spam or next;
my $file = $v;
$file =~ s/\.//g;
$file = "$out/$file";
-e $file or die "non-existent: $file\n";
- open F, ">>$file" or die "$file: $!\n";
- printf F "%-30s # added by $0\n", $_ for sort keys %{$v{$v}};
- close F;
+ print "-- $file --\n";
+ $mode eq 'write' and (open F, ">>$file" or die "$file: $!\n");
+ for (@no-spam {
+ print "adding $_\n";
+ $mode eq 'write' and printf F "%-30s # added by $0\n", $_;
+ }
+ $mode eq 'write' and close F;
}

==== //depot/maint-5.8/perl/ext/Devel/PPPort/mktests.PL#2 (text) ====
Index: perl/ext/Devel/PPPort/mktests.PL --- perl/ext/Devel/PPPort/mktests.PL#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/mktests.PL Fri Sep 10 03:34:45 2004
@@no-spam -4,9 +4,9 @@no-spam #
################################################################################

#
-# $Revision: 17 $
+# $Revision: 18 $
# $Author: mhx $
-# $Date: 2004/08/16 11:31:29 +0200 $
+# $Date: 2004/08/30 20:49:12 +0200 $
#
################################################################################

#
@@no-spam -68,7 +68,7 @@no-spam @no-spam = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';

require Config; import Config;
use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ] ) {
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
exit 0;
}

==== //depot/maint-5.8/perl/ext/Devel/PPPort/parts/base/5004050#2 (text) ====
Index: perl/ext/Devel/PPPort/parts/base/5004050
--- perl/ext/Devel/PPPort/parts/base/5004050#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/parts/base/5004050 Fri Sep 10 03:34:45 2004
@@no-spam -18,3 +18,12 @@no-spam PL_stdingv # added by devel/scanprov SAVE_DEFSV # added by devel/scanprov dTHR # added by devel/scanprov +PL_debstash # added by devel/scanprov +PL_diehook # added by devel/scanprov +PL_errgv # added by devel/scanprov +PL_perl_destruct_level # added by devel/scanprov +PL_stack_base # added by devel/scanprov +PL_stack_sp # added by devel/scanprov +PL_sv_arenaroot # added by devel/scanprov +PL_tainted # added by devel/scanprov +PL_tainting # added by devel/scanprov
==== //depot/maint-5.8/perl/ext/Devel/PPPort/parts/base/5005000#2 (text) ====
Index: perl/ext/Devel/PPPort/parts/base/5005000
--- perl/ext/Devel/PPPort/parts/base/5005000#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/parts/base/5005000 Fri Sep 10 03:34:45 2004
@@no-spam -5,3 +5,6 @@no-spam PL_copline # added by devel/scanprov PL_hexdigit # added by devel/scanprov PL_hints # added by devel/scanprov +END_EXTERN_C # added by devel/scanprov +EXTERN_C # added by devel/scanprov +START_EXTERN_C # added by devel/scanprov
==== //depot/maint-5.8/perl/ext/Devel/PPPort/parts/base/5006000#2 (text) ====
Index: perl/ext/Devel/PPPort/parts/base/5006000
--- perl/ext/Devel/PPPort/parts/base/5006000#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/parts/base/5006000 Fri Sep 10 03:34:45 2004
@@no-spam -500,3 +500,5 @@no-spam dTHXoa # added by devel/scanprov pTHX # added by devel/scanprov pTHX_ # added by devel/scanprov +PL_no_modify # added by devel/scanprov +PL_ppaddr # added by devel/scanprov
==== //depot/maint-5.8/perl/ext/Devel/PPPort/parts/base/5008001#2 (text) ====
Index: perl/ext/Devel/PPPort/parts/base/5008001
--- perl/ext/Devel/PPPort/parts/base/5008001#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/parts/base/5008001 Fri Sep 10 03:34:45 2004
@@no-spam -17,3 +17,4 @@no-spam PERL_MAGIC_vstring # added by devel/scanprov PERL_SCAN_SILENT_ILLDIGIT # added by devel/scanprov XST_mUV # added by devel/scanprov +PERL_GCC_BRACE_GROUPS_FORBIDDEN # added by devel/scanprov
==== //depot/maint-5.8/perl/ext/Devel/PPPort/parts/base/5009002#2 (text) ====
Index: perl/ext/Devel/PPPort/parts/base/5009002
--- perl/ext/Devel/PPPort/parts/base/5009002#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/parts/base/5009002 Fri Sep 10 03:34:45 2004
@@no-spam -18,3 +18,4 @@no-spam mXPUSHu # U vnormal # E PERL_BCDVERSION # added by devel/scanprov +MY_CXT_CLONE # added by devel/scanprov
==== //depot/maint-5.8/perl/ext/Devel/PPPort/parts/inc/MY_CXT#2 (text) ====
Index: perl/ext/Devel/PPPort/parts/inc/MY_CXT --- perl/ext/Devel/PPPort/parts/inc/MY_CXT#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/parts/inc/MY_CXT Fri Sep 10 03:34:45 2004
@@no-spam -1,8 +1,8 @@no-spam ################################################################################

##
-## $Revision: 7 $
+## $Revision: 9 $
## $Author: mhx $
-## $Date: 2004/08/13 12:45:55 +0200 $
+## $Date: 2004/09/08 22:15:16 +0200 $
##
################################################################################

##
@@no-spam -21,6 +21,7 @@no-spam dMY_CXT_SV dMY_CXT MY_CXT_INIT +MY_CXT_CLONE MY_CXT pMY_CXT pMY_CXT_
@@no-spam -31,8 +32,6 @@no-spam =implementation -#ifndef START_MY_CXT -
/*
* Boilerplate macros for initializing and accessing interpreter-local * data from C. All statics in extensions should be reworked to use @@no-spam -55,6 +54,8 @@no-spam #if defined(MULTIPLICITY) || defined(PERL_OBJECT) || \
defined(PERL_CAPI) || defined(PERL_IMPLICIT_CONTEXT)
+#ifndef START_MY_CXT +
/* This must appear in all extensions that define a my_cxt_t structure,
* right after the definition (i.e. at file scope). The non-threads * case below uses it to declare the data as static. */
@@no-spam -99,8 +100,21 @@no-spam #define aMY_CXT_ aMY_CXT,
#define _aMY_CXT ,aMY_CXT +#endif /* START_MY_CXT */
+
+#ifndef MY_CXT_CLONE +/* Clones the per-interpreter data. */
+#define MY_CXT_CLONE \
+ dMY_CXT_SV; \
+ my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\
+ Copy(INT2PTR(my_cxt_t*, SvUV(my_cxt_sv)), my_cxtp, 1, my_cxt_t);\
+ sv_setuv(my_cxt_sv, PTR2UV(my_cxtp))
+#endif +
#else /* single interpreter */
+#ifndef START_MY_CXT +
#define START_MY_CXT static my_cxt_t my_cxt;
#define dMY_CXT_SV dNOOP #define dMY_CXT dNOOP @@no-spam -114,10 +128,14 @@no-spam #define aMY_CXT_
#define _aMY_CXT -#endif -
#endif /* START_MY_CXT */
+#ifndef MY_CXT_CLONE +#define MY_CXT_CLONE NOOP +#endif +
+#endif +
=xsmisc #define MY_CXT_KEY "Devel::PPPort::_guts" XS_VERSION @@no-spam -158,8 +176,17 @@no-spam OUTPUT:
RETVAL -=tests plan => 2
+int +MY_CXT_CLONE()
+ CODE:
+ MY_CXT_CLONE;
+ RETVAL = 42;
+ OUTPUT:
+ RETVAL +
+=tests plan => 3
ok(&Devel::PPPort::MY_CXT_1());
ok(&Devel::PPPort::MY_CXT_2());
+ok(&Devel::PPPort::MY_CXT_CLONE());

==== //depot/maint-5.8/perl/ext/Devel/PPPort/parts/inc/misc#3 (text) ====
Index: perl/ext/Devel/PPPort/parts/inc/misc --- perl/ext/Devel/PPPort/parts/inc/misc#2~23269~ Sun Sep 5 14:03:20 2004
+++ perl/ext/Devel/PPPort/parts/inc/misc Fri Sep 10 03:34:45 2004
@@no-spam -1,8 +1,8 @@no-spam ################################################################################

##
-## $Revision: 16 $
+## $Revision: 17 $
## $Author: mhx $
-## $Date: 2004/08/17 13:49:30 +0200 $
+## $Date: 2004/09/08 21:10:12 +0200 $
##
################################################################################

##
@@no-spam -19,6 +19,7 @@no-spam __UNDEFINED__
PERL_UNUSED_DECL +PERL_GCC_BRACE_GROUPS_FORBIDDEN NVTYPE INT2PTR PTRV @@no-spam -27,6 +28,11 @@no-spam PTR2UV PTR2NV PTR2ul +START_EXTERN_C +END_EXTERN_C +EXTERN_C +STMT_START +STMT_END /PL_\w+/
=implementation @@no-spam -115,6 +121,40 @@no-spam # endif #endif /* !INT2PTR */
+
+#undef START_EXTERN_C +#undef END_EXTERN_C +#undef EXTERN_C +#ifdef __cplusplus +# define START_EXTERN_C extern "C" {
+# define END_EXTERN_C }
+# define EXTERN_C extern "C"
+#else +# define START_EXTERN_C +# define END_EXTERN_C +# define EXTERN_C extern +#endif +
+#ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN +# if defined(__STRICT_ANSI__) && defined(PERL_GCC_PEDANTIC)
+# define PERL_GCC_BRACE_GROUPS_FORBIDDEN +# endif +#endif +
+#undef STMT_START +#undef STMT_END +#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__cplusplus)

+# define STMT_START (void)( /* gcc supports ``({ STATEMENTS; })'' */
+# define STMT_END )
+#else +# if defined(VOIDFLAGS) && (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__)

+# define STMT_START if (1)
+# define STMT_END else (void)0
+# else +# define STMT_START do +# define STMT_END while (0)
+# endif +#endif __UNDEFINED__ boolSV(b) ((b) ? &PL_sv_yes : &PL_sv_no)

==== //depot/maint-5.8/perl/ext/Devel/PPPort/t/MY_CXT.t#2 (text) ====
Index: perl/ext/Devel/PPPort/t/MY_CXT.t --- perl/ext/Devel/PPPort/t/MY_CXT.t#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/t/MY_CXT.t Fri Sep 10 03:34:45 2004
@@no-spam -12,7 +12,7 @@no-spam @no-spam = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';

require Config; import Config;
use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ] ) {
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
exit 0;
}
@@no-spam -24,10 +24,10 @@no-spam eval "use Test";
if ($@no-spam {
require 'testutil.pl';
- print "1..2\n";
+ print "1..3\n";
}
else {
- plan(tests => 2);
+ plan(tests => 3);
}
}
@@no-spam -37,4 +37,5 @@no-spam ok(&Devel::PPPort::MY_CXT_1());
ok(&Devel::PPPort::MY_CXT_2());
+ok(&Devel::PPPort::MY_CXT_CLONE());

==== //depot/maint-5.8/perl/ext/Devel/PPPort/t/SvPV.t#2 (text) ====
Index: perl/ext/Devel/PPPort/t/SvPV.t --- perl/ext/Devel/PPPort/t/SvPV.t#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/t/SvPV.t Fri Sep 10 03:34:45 2004
@@no-spam -12,7 +12,7 @@no-spam @no-spam = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';

require Config; import Config;
use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ] ) {
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
exit 0;
}

==== //depot/maint-5.8/perl/ext/Devel/PPPort/t/call.t#2 (text) ====
Index: perl/ext/Devel/PPPort/t/call.t --- perl/ext/Devel/PPPort/t/call.t#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/t/call.t Fri Sep 10 03:34:45 2004
@@no-spam -12,7 +12,7 @@no-spam @no-spam = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';

require Config; import Config;
use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ] ) {
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
exit 0;
}

==== //depot/maint-5.8/perl/ext/Devel/PPPort/t/cop.t#2 (text) ====
Index: perl/ext/Devel/PPPort/t/cop.t --- perl/ext/Devel/PPPort/t/cop.t#1~23269~ Sun Sep 5 14:03:20 2004
+++ perl/ext/Devel/PPPort/t/cop.t Fri Sep 10 03:34:45 2004
@@no-spam -12,7 +12,7 @@no-spam @no-spam = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';

require Config; import Config;
use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ] ) {
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
exit 0;
}

==== //depot/maint-5.8/perl/ext/Devel/PPPort/t/grok.t#2 (text) ====
Index: perl/ext/Devel/PPPort/t/grok.t --- perl/ext/Devel/PPPort/t/grok.t#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/t/grok.t Fri Sep 10 03:34:45 2004
@@no-spam -12,7 +12,7 @@no-spam @no-spam = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';

require Config; import Config;
use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ] ) {
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
exit 0;
}

==== //depot/maint-5.8/perl/ext/Devel/PPPort/t/limits.t#2 (text) ====
Index: perl/ext/Devel/PPPort/t/limits.t --- perl/ext/Devel/PPPort/t/limits.t#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/t/limits.t Fri Sep 10 03:34:45 2004
@@no-spam -12,7 +12,7 @@no-spam @no-spam = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';

require Config; import Config;
use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ] ) {
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
exit 0;
}

==== //depot/maint-5.8/perl/ext/Devel/PPPort/t/mPUSH.t#2 (text) ====
Index: perl/ext/Devel/PPPort/t/mPUSH.t --- perl/ext/Devel/PPPort/t/mPUSH.t#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/t/mPUSH.t Fri Sep 10 03:34:45 2004
@@no-spam -12,7 +12,7 @@no-spam @no-spam = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';

require Config; import Config;
use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ] ) {
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
exit 0;
}

==== //depot/maint-5.8/perl/ext/Devel/PPPort/t/magic.t#2 (text) ====
Index: perl/ext/Devel/PPPort/t/magic.t --- perl/ext/Devel/PPPort/t/magic.t#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/t/magic.t Fri Sep 10 03:34:45 2004
@@no-spam -12,7 +12,7 @@no-spam @no-spam = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';

require Config; import Config;
use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ] ) {
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
exit 0;
}

==== //depot/maint-5.8/perl/ext/Devel/PPPort/t/misc.t#2 (text) ====
Index: perl/ext/Devel/PPPort/t/misc.t --- perl/ext/Devel/PPPort/t/misc.t#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/t/misc.t Fri Sep 10 03:34:45 2004
@@no-spam -12,7 +12,7 @@no-spam @no-spam = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';

require Config; import Config;
use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ] ) {
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
exit 0;
}

==== //depot/maint-5.8/perl/ext/Devel/PPPort/t/newCONSTSUB.t#2 (text) ====
Index: perl/ext/Devel/PPPort/t/newCONSTSUB.t --- perl/ext/Devel/PPPort/t/newCONSTSUB.t#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/t/newCONSTSUB.t Fri Sep 10 03:34:45 2004
@@no-spam -12,7 +12,7 @@no-spam @no-spam = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';

require Config; import Config;
use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ] ) {
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
exit 0;
}

==== //depot/maint-5.8/perl/ext/Devel/PPPort/t/newRV.t#2 (text) ====
Index: perl/ext/Devel/PPPort/t/newRV.t --- perl/ext/Devel/PPPort/t/newRV.t#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/t/newRV.t Fri Sep 10 03:34:45 2004
@@no-spam -12,7 +12,7 @@no-spam @no-spam = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';

require Config; import Config;
use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ] ) {
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
exit 0;
}

==== //depot/maint-5.8/perl/ext/Devel/PPPort/t/ppphtest.t#3 (text) ====
Index: perl/ext/Devel/PPPort/t/ppphtest.t --- perl/ext/Devel/PPPort/t/ppphtest.t#2~23269~ Sun Sep 5 14:03:20 2004
+++ perl/ext/Devel/PPPort/t/ppphtest.t Fri Sep 10 03:34:45 2004
@@no-spam -12,7 +12,7 @@no-spam @no-spam = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';

require Config; import Config;
use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ] ) {
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
exit 0;
}

==== //depot/maint-5.8/perl/ext/Devel/PPPort/t/sv_xpvf.t#2 (text) ====
Index: perl/ext/Devel/PPPort/t/sv_xpvf.t --- perl/ext/Devel/PPPort/t/sv_xpvf.t#1~23269~ Sun Sep 5 14:03:20 2004
+++ perl/ext/Devel/PPPort/t/sv_xpvf.t Fri Sep 10 03:34:45 2004
@@no-spam -12,7 +12,7 @@no-spam @no-spam = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';

require Config; import Config;
use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ] ) {
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
exit 0;
}

==== //depot/maint-5.8/perl/ext/Devel/PPPort/t/threads.t#2 (text) ====
Index: perl/ext/Devel/PPPort/t/threads.t --- perl/ext/Devel/PPPort/t/threads.t#1~23268~ Sun Sep 5 13:48:03 2004
+++ perl/ext/Devel/PPPort/t/threads.t Fri Sep 10 03:34:45 2004
@@no-spam -12,7 +12,7 @@no-spam @no-spam = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';

require Config; import Config;
use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ] ) {
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
exit 0;
}

==== //depot/maint-5.8/perl/ext/Devel/PPPort/t/uv.t#3 (text) ====
Index: perl/ext/Devel/PPPort/t/uv.t --- perl/ext/Devel/PPPort/t/uv.t#2~23269~ Sun Sep 5 14:03:20 2004
+++ perl/ext/Devel/PPPort/t/uv.t Fri Sep 10 03:34:45 2004
@@no-spam -12,7 +12,7 @@no-spam @no-spam = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';

require Config; import Config;
use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ] ) {
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
exit 0;
}
End of Patch.