In perl.git, the branch maint-5.10 has been updated <http://perl5.git.perl.org/perl.git/commitdiff/9d20908063546f3b632075bec44205d1b6f709b0?hp=bcd41b7997abaa21e066e80f23cd72857f8f5f56>
- Log ----------------------------------------------------------------- commit 9d20908063546f3b632075bec44205d1b6f709b0 Author: David Mitchell <[email protected]> Date: Sun Mar 22 00:20:03 2009 +0000 update mergelog M Porting/mergelog commit 5f9e9d12f9b91d15f5287353e242748cb029b693 Author: Steve Hay <[email protected]> Date: Wed Feb 13 12:27:56 2008 +0000 pp_system explicitly passes NULL to do_aspawn, so NULL must be "OK" *Now* my Win32 DEBUGGING build works :-) p4raw-id: //depot/p...@33300 (cherry picked from commit a3e405b265335c7002fb234702f4c800f4a9accb) M embed.fnc M proto.h commit d79c78d1df0598e632ce13a1c353108647036185 Author: Steve Hay <[email protected]> Date: Wed Feb 13 12:19:17 2008 +0000 Drat. #33298 doesn't fix it: need this too. And even then I now get an assertion from win32.c line 628. Sigh... p4raw-id: //depot/p...@33299 (cherry picked from commit 589df73be52bdf2b31fafebfe4ce5149122a5c09) M embed.fnc M proto.h commit 401e94332eed533a4a0bd26c7aefa93ba732279b Author: Steve Hay <[email protected]> Date: Wed Feb 13 12:05:49 2008 +0000 Correct another variable name in embed.fnc (Fixes my DEBUGGING builds on Win32) p4raw-id: //depot/p...@33298 (cherry picked from commit 16bf6295de74199eccc4e88487e3c499c94de5d3) M embed.fnc M proto.h commit f4c1ecd224f7c94d30837b13f8ce338a2d162210 Author: Jan Dubois <[email protected]> Date: Fri Feb 1 05:40:41 2008 -0800 Fix bit-fields for VC [was RE: [perl #50386] GIMME_V broken with 5.10.0/GCC and XS?] From: "Jan Dubois" <[email protected]> Message-ID: <02ee01c8651b$17ef72f0$47ce58...@com> p4raw-id: //depot/p...@33292 partially cherry-picked from commit 654eccd594bfe8deab367b0f4cdda726a7796ff3: The PERL_BITFIELD* macros are merged, but the VC-specific overrride of their values has been ommited to mainbtain BinCompat, as has the -mms-bitfields compile option. M op.h M perl.h M sv.h ----------------------------------------------------------------------- Summary of changes: Porting/mergelog | 51 ++++++++++++++++++++++++++------------------------- embed.fnc | 21 +++++++++++++-------- op.h | 12 ++++++------ perl.h | 11 +++++++++++ proto.h | 11 +++++------ sv.h | 8 ++++---- 6 files changed, 65 insertions(+), 49 deletions(-) diff --git a/Porting/mergelog b/Porting/mergelog index d26b66b..5e6b1b9 100644 --- a/Porting/mergelog +++ b/Porting/mergelog @@ -203,9 +203,9 @@ M 553688848e 2008/01/04 32832 M d1f3479f8c 2008/01/04 32833 M 8f14ea018e 2008/01/04 32834 R 7f60507992 2008/01/04 32835 fix to 32804 -M 7a4bba223a 2008/01/04 32836 +R 7a4bba223a 2008/01/04 32836 nicholas suggested no (merged then reverted) R bdd9a1b1ec 2008/01/05 32837 specific to new regexp stuff -M 69240efd70 2008/01/05 32838 +R 69240efd70 2008/01/05 32838 see 32836 M 5a51db0500 2008/01/05 32839 M efd26800e7 2008/01/05 32840 P f7c278bfa9 2008/01/05 32841 skip more struct regexp diddling @@ -498,11 +498,11 @@ M b727803b27 2008/02/08 33248 R 5de3775cb1 2008/02/08 33249 consting M a592ba15a3 2008/02/08 33250 M ddd401edfb 2008/02/08 33251 -R d5ece4e2f6 2008/02/08 33252 (unknown reason) +R d5ece4e2f6 2008/02/08 33252 MM_Unix.pm: superceded by later merge M 9f4452f71a 2008/02/08 33253 M 039698bb08 2008/02/08 33254 M 099b16d3b5 2008/02/08 33255 -R 3468c7eaa8 2008/02/08 33256 (unknown reason) +R 3468c7eaa8 2008/02/08 33256 changes sig of mg_copy() fns: not BinCompat M f88ee2835d 2008/02/08 33257 ! 7b0f711abd 2008/02/08 33258 IO::Handle awaiting CPAN sync M 3722f0dc40 2008/02/08 33259 @@ -513,46 +513,47 @@ M 20b7c8df8c 2008/02/09 33263 M 41d86c6b93 2008/02/09 33264 M ca4cfd2853 2008/02/09 33265 M 806b8cc26f 2008/02/10 33266 -R e71197e288 2008/02/10 33267 (unknown reason) +R e71197e288 2008/02/10 33267 optimize OP_IS_* macros: not BinCompat M f7a782ffe2 2008/02/10 33268 -R bcabcc50f8 2008/02/10 33269 (unknown reason) -R 734c245124 2008/02/10 33270 (unknown reason) -R 9f6cc744b0 2008/02/10 33271 (unknown reason) +M bcabcc50f8 2008/02/10 33269 +M 734c245124 2008/02/10 33270 +M 9f6cc744b0 2008/02/10 33271 M f3dc127a72 2008/02/10 33272 -R 8798655dec 2008/02/10 33273 (unknown reason) +R 8798655dec 2008/02/10 33273 M dd568cb698 2008/02/11 33274 M d207eff153 2008/02/11 33275 -R 251cc6a663 2008/02/11 33276 (unknown reason) -R 7abfa3119c 2008/02/11 33277 (unknown reason) +M 251cc6a663 2008/02/11 33276 +R 7abfa3119c 2008/02/11 33277 a perltodo addition later done in bleed (33338) M 05cb221f7e 2008/02/11 33278 -R 8074533a0c 2008/02/11 33279 (unknown reason) +M 8074533a0c 2008/02/11 33279 M 22ccb26d0b 2008/02/11 33280 M bd3ac2f12c 2008/02/11 33281 M 8b4fe3688e 2008/02/11 33282 -R cf684db655 2008/02/11 33283 (unknown reason) -R d38c8166c7 2008/02/11 33284 (unknown reason) -R 53e8571218 2008/02/11 33285 (unknown reason) +M cf684db655 2008/02/11 33283 +M d38c8166c7 2008/02/11 33284 +M 53e8571218 2008/02/11 33285 M d3056722ea 2008/02/12 33286 -R 3d4dd4c7b4 2008/02/12 33287 (unknown reason) -R 4048f0105b 2008/02/12 33289 (unknown reason) -R 9f10164a6c 2008/02/12 33290 (unknown reason) -R 7918f24d20 2008/02/12 33291 (unknown reason) -R 654eccd594 2008/02/12 33292 (unknown reason) +M 3d4dd4c7b4 2008/02/12 33287 +M 4048f0105b 2008/02/12 33289 +M 9f10164a6c 2008/02/12 33290 +M 7918f24d20 2008/02/12 33291 +P 654eccd594 2008/02/12 33292 added PERL_BITFIELD* macros, but kept their + 5.10.0 values. M 57dd0abb43 2008/02/12 33293 M 795ee8854b 2008/02/12 33294 M e25a7dc23f 2008/02/13 33295 M babfacb9bd 2008/02/13 33296 M 6ba536972b 2008/02/13 33297 -R 16bf6295de 2008/02/13 33298 (unknown reason) -R 589df73be5 2008/02/13 33299 (unknown reason) -R a3e405b265 2008/02/13 33300 (unknown reason) +M 16bf6295de 2008/02/13 33298 +M 589df73be5 2008/02/13 33299 +M a3e405b265 2008/02/13 33300 M cae86ea865 2008/02/13 33301 -R 781e3f0500 2008/02/13 33302 (unknown reason) +R 781e3f0500 2008/02/13 33302 This change was later revoked by 33307 M 9f4ee62979 2008/02/14 33303 R fe9845cc76 2008/02/14 33304 (unknown reason) R 86f9315f71 2008/02/14 33305 (unknown reason) R c91c3a7516 2008/02/14 33306 (unknown reason) -R 7e623da313 2008/02/14 33307 (unknown reason) +R 7e623da313 2008/02/14 33307 see 33302 R c4a2fd1a6f 2008/02/14 33308 (unknown reason) R fa01e09300 2008/02/14 33309 (unknown reason) R b16276bb9e 2008/02/14 33310 (unknown reason) diff --git a/embed.fnc b/embed.fnc index 85a4648..9711f5a 100644 --- a/embed.fnc +++ b/embed.fnc @@ -50,7 +50,7 @@ Ano |PerlInterpreter*|perl_alloc_using \ |NN struct IPerlMem *ipMP \ |NN struct IPerlEnv *ipE \ |NN struct IPerlStdIO *ipStd \ - |NN struct IPerlLIO *ipLio \ + |NN struct IPerlLIO *ipLIO \ |NN struct IPerlDir *ipD \ |NN struct IPerlSock *ipS \ |NN struct IPerlProc *ipP @@ -67,12 +67,17 @@ AnpR |bool |doing_taint |int argc|NULLOK char** argv|NULLOK char** env Anod |PerlInterpreter*|perl_clone|NN PerlInterpreter *proto_perl|UV flags # if defined(PERL_IMPLICIT_SYS) Ano |PerlInterpreter*|perl_clone_using \ - |NN PerlInterpreter *proto_perl|UV flags \ - |NN struct IPerlMem* m|NN struct IPerlMem* ms \ - |NN struct IPerlMem* mp|NN struct IPerlEnv* e \ - |NN struct IPerlStdIO* io|NN struct IPerlLIO* lio \ - |NN struct IPerlDir* d|NN struct IPerlSock* s \ - |NN struct IPerlProc* p + |NN PerlInterpreter *proto_perl \ + |UV flags \ + |NN struct IPerlMem* ipM \ + |NN struct IPerlMem* ipMS \ + |NN struct IPerlMem* ipMP \ + |NN struct IPerlEnv* ipE \ + |NN struct IPerlStdIO* ipStd \ + |NN struct IPerlLIO* ipLIO \ + |NN struct IPerlDir* ipD \ + |NN struct IPerlSock* ipS \ + |NN struct IPerlProc* ipP # endif #endif @@ -204,7 +209,7 @@ p |bool |do_exec |NN const char* cmd #endif #if defined(WIN32) || defined(__SYMBIAN32__) -Ap |int |do_aspawn |NN SV* really|NN SV** mark|NN SV** sp +Ap |int |do_aspawn |NULLOK SV* really|NN SV** mark|NN SV** sp Ap |int |do_spawn |NN char* cmd Ap |int |do_spawn_nowait|NN char* cmd #endif diff --git a/op.h b/op.h index 12d3226..41d703a 100644 --- a/op.h +++ b/op.h @@ -54,12 +54,12 @@ OP* (CPERLscope(*op_ppaddr))(pTHX); \ MADPROP_IN_BASEOP \ PADOFFSET op_targ; \ - unsigned op_type:9; \ - unsigned op_opt:1; \ - unsigned op_latefree:1; \ - unsigned op_latefreed:1; \ - unsigned op_attached:1; \ - unsigned op_spare:3; \ + PERL_BITFIELD16 op_type:9; \ + PERL_BITFIELD16 op_opt:1; \ + PERL_BITFIELD16 op_latefree:1; \ + PERL_BITFIELD16 op_latefreed:1; \ + PERL_BITFIELD16 op_attached:1; \ + PERL_BITFIELD16 op_spare:3; \ U8 op_flags; \ U8 op_private; #endif diff --git a/perl.h b/perl.h index 374a61b..e66021c 100644 --- a/perl.h +++ b/perl.h @@ -3370,6 +3370,17 @@ struct nexttoken { }; #endif +/* macros to define bit-fields in structs. */ +#ifndef PERL_BITFIELD8 +# define PERL_BITFIELD8 unsigned +#endif +#ifndef PERL_BITFIELD16 +# define PERL_BITFIELD16 unsigned +#endif +#ifndef PERL_BITFIELD32 +# define PERL_BITFIELD32 unsigned +#endif + #include "regexp.h" #include "sv.h" #include "util.h" diff --git a/proto.h b/proto.h index e2852e4..8dbbc58 100644 --- a/proto.h +++ b/proto.h @@ -19,7 +19,7 @@ START_EXTERN_C #if defined(PERL_IMPLICIT_SYS) -PERL_CALLCONV PerlInterpreter* perl_alloc_using(struct IPerlMem *ipM, struct IPerlMem *ipMS, struct IPerlMem *ipMP, struct IPerlEnv *ipE, struct IPerlStdIO *ipStd, struct IPerlLIO *ipLio, struct IPer ... [56 chars truncated] +PERL_CALLCONV PerlInterpreter* perl_alloc_using(struct IPerlMem *ipM, struct IPerlMem *ipMS, struct IPerlMem *ipMP, struct IPerlEnv *ipE, struct IPerlStdIO *ipStd, struct IPerlLIO *ipLIO, struct IPer ... [56 chars truncated] __attribute__nonnull__(1) __attribute__nonnull__(2) __attribute__nonnull__(3) @@ -30,7 +30,7 @@ PERL_CALLCONV PerlInterpreter* perl_alloc_using(struct IPerlMem *ipM, struct IPe __attribute__nonnull__(8) __attribute__nonnull__(9); #define PERL_ARGS_ASSERT_PERL_ALLOC_USING \ - assert(ipM); assert(ipMS); assert(ipMP); assert(ipE); assert(ipStd); assert(ipLio); assert(ipD); assert(ipS); assert(ipP) + assert(ipM); assert(ipMS); assert(ipMP); assert(ipE); assert(ipStd); assert(ipLIO); assert(ipD); assert(ipS); assert(ipP) #endif PERL_CALLCONV PerlInterpreter* perl_alloc(void); @@ -69,7 +69,7 @@ PERL_CALLCONV PerlInterpreter* perl_clone(PerlInterpreter *proto_perl, UV flags) assert(proto_perl) # if defined(PERL_IMPLICIT_SYS) -PERL_CALLCONV PerlInterpreter* perl_clone_using(PerlInterpreter *proto_perl, UV flags, struct IPerlMem* m, struct IPerlMem* ms, struct IPerlMem* mp, struct IPerlEnv* e, struct IPerlStdIO* io, struct ... [76 chars truncated] +PERL_CALLCONV PerlInterpreter* perl_clone_using(PerlInterpreter *proto_perl, UV flags, struct IPerlMem* ipM, struct IPerlMem* ipMS, struct IPerlMem* ipMP, struct IPerlEnv* ipE, struct IPerlStdIO* ipS ... [95 chars truncated] __attribute__nonnull__(1) __attribute__nonnull__(3) __attribute__nonnull__(4) @@ -81,7 +81,7 @@ PERL_CALLCONV PerlInterpreter* perl_clone_using(PerlInterpreter *proto_perl, UV __attribute__nonnull__(10) __attribute__nonnull__(11); #define PERL_ARGS_ASSERT_PERL_CLONE_USING \ - assert(proto_perl); assert(m); assert(ms); assert(mp); assert(e); assert(io); assert(lio); assert(d); assert(s); assert(p) + assert(proto_perl); assert(ipM); assert(ipMS); assert(ipMP); assert(ipE); assert(ipStd); assert(ipLIO); assert(ipD); assert(ipS); assert(ipP) # endif #endif @@ -575,11 +575,10 @@ PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd) #if defined(WIN32) || defined(__SYMBIAN32__) PERL_CALLCONV int Perl_do_aspawn(pTHX_ SV* really, SV** mark, SV** sp) - __attribute__nonnull__(pTHX_1) __attribute__nonnull__(pTHX_2) __attribute__nonnull__(pTHX_3); #define PERL_ARGS_ASSERT_DO_ASPAWN \ - assert(really); assert(mark); assert(sp) + assert(mark); assert(sp) PERL_CALLCONV int Perl_do_spawn(pTHX_ char* cmd) __attribute__nonnull__(pTHX_1); diff --git a/sv.h b/sv.h index 0aa44dc..6b5ba63 100644 --- a/sv.h +++ b/sv.h @@ -113,10 +113,10 @@ struct STRUCT_SV { /* struct sv { */ _SV_HEAD(void*); _SV_HEAD_UNION; #ifdef DEBUG_LEAKING_SCALARS - unsigned sv_debug_optype:9; /* the type of OP that allocated us */ - unsigned sv_debug_inpad:1; /* was allocated in a pad for an OP */ - unsigned sv_debug_cloned:1; /* was cloned for an ithread */ - unsigned sv_debug_line:16; /* the line where we were allocated */ + PERL_BITFIELD32 sv_debug_optype:9; /* the type of OP that allocated us */ + PERL_BITFIELD32 sv_debug_inpad:1; /* was allocated in a pad for an OP */ + PERL_BITFIELD32 sv_debug_cloned:1; /* was cloned for an ithread */ + PERL_BITFIELD32 sv_debug_line:16; /* the line where we were allocated */ U32 sv_debug_serial; /* serial number of sv allocation */ char * sv_debug_file; /* the file where we were allocated */ #endif -- Perl5 Master Repository
