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.