From: Steve Hay <SteveHay@planit.com>
Date: Fri, 10 Feb 2006 11:20:23 +0000 (+0000)
Subject: Fix the effects of 27136 on Win32 with DEBUGGING and PERL_IMPLICIT_SYS
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=bf38c51f361107f758fabf5590b0852bea1538f6;p=p5sagit%2Fp5-mst-13.2.git

Fix the effects of 27136 on Win32 with DEBUGGING and PERL_IMPLICIT_SYS

p4raw-id: //depot/perl@27148
---

diff --git a/embed.fnc b/embed.fnc
index 90294ba..a3c70d6 100644
--- a/embed.fnc
+++ b/embed.fnc
@@ -1043,7 +1043,7 @@ s	|void	|hsplit		|NN HV *hv
 s	|void	|hfreeentries	|NN HV *hv
 sa	|HE*	|new_he
 sanR	|HEK*	|save_hek_flags	|NN const char *str|I32 len|U32 hash|int flags
-sn	|void	|hv_magic_check	|NN HV *hv|NN bool *needs_copy|NN bool *needs_store
+s	|void	|hv_magic_check	|NN HV *hv|NN bool *needs_copy|NN bool *needs_store
 s	|void	|unshare_hek_or_pvn|NULLOK const HEK* hek|NULLOK const char* str|I32 len|U32 hash
 sR	|HEK*	|share_hek_flags|NN const char* sv|I32 len|U32 hash|int flags
 rs	|void	|hv_notallowed	|int flags|NN const char *key|I32 klen|NN const char *msg
@@ -1350,7 +1350,7 @@ s	|void *	|more_bodies	|size_t size|svtype sv_type
 s	|bool	|sv_2iuv_common	|NN SV *sv
 s	|void	|glob_assign_glob|NN SV *dstr|NN SV *sstr|const int dtype
 s	|void	|glob_assign_ref|NN SV *dstr|NN SV *sstr
-sRn	|PTR_TBL_ENT_t *|ptr_table_find|NN PTR_TBL_t *tbl|NN const void *sv
+sR	|PTR_TBL_ENT_t *|ptr_table_find|NN PTR_TBL_t *tbl|NN const void *sv
 s	|SV *	|find_hash_subscript|NULLOK HV *hv|NN SV *val
 s	|I32	|find_array_subscript|NULLOK AV *av|NN SV *val
 s	|SV *	|find_uninit_var|NULLOK OP *obase|NULLOK SV *uninit_sv|bool match
diff --git a/embed.h b/embed.h
index 24c85cd..3d6f34bc 100644
--- a/embed.h
+++ b/embed.h
@@ -3110,7 +3110,7 @@
 #define hfreeentries(a)		S_hfreeentries(aTHX_ a)
 #define new_he()		S_new_he(aTHX)
 #define save_hek_flags		S_save_hek_flags
-#define hv_magic_check		S_hv_magic_check
+#define hv_magic_check(a,b,c)	S_hv_magic_check(aTHX_ a,b,c)
 #define unshare_hek_or_pvn(a,b,c,d)	S_unshare_hek_or_pvn(aTHX_ a,b,c,d)
 #define share_hek_flags(a,b,c,d)	S_share_hek_flags(aTHX_ a,b,c,d)
 #define hv_notallowed(a,b,c,d)	S_hv_notallowed(aTHX_ a,b,c,d)
@@ -3432,7 +3432,7 @@
 #define sv_2iuv_common(a)	S_sv_2iuv_common(aTHX_ a)
 #define glob_assign_glob(a,b,c)	S_glob_assign_glob(aTHX_ a,b,c)
 #define glob_assign_ref(a,b)	S_glob_assign_ref(aTHX_ a,b)
-#define ptr_table_find		S_ptr_table_find
+#define ptr_table_find(a,b)	S_ptr_table_find(aTHX_ a,b)
 #define find_hash_subscript(a,b)	S_find_hash_subscript(aTHX_ a,b)
 #define find_array_subscript(a,b)	S_find_array_subscript(aTHX_ a,b)
 #define find_uninit_var(a,b,c)	S_find_uninit_var(aTHX_ a,b,c)
diff --git a/hv.c b/hv.c
index 061d0ce..4c5615d 100644
--- a/hv.c
+++ b/hv.c
@@ -857,7 +857,7 @@ S_hv_fetch_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
 }
 
 STATIC void
-S_hv_magic_check(HV *hv, bool *needs_copy, bool *needs_store)
+S_hv_magic_check(pTHX_ HV *hv, bool *needs_copy, bool *needs_store)
 {
     const MAGIC *mg = SvMAGIC(hv);
     *needs_copy = FALSE;
diff --git a/proto.h b/proto.h
index 99b9d01..f9b768a 100644
--- a/proto.h
+++ b/proto.h
@@ -2871,10 +2871,10 @@ STATIC HEK*	S_save_hek_flags(const char *str, I32 len, U32 hash, int flags)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(1);
 
-STATIC void	S_hv_magic_check(HV *hv, bool *needs_copy, bool *needs_store)
-			__attribute__nonnull__(1)
-			__attribute__nonnull__(2)
-			__attribute__nonnull__(3);
+STATIC void	S_hv_magic_check(pTHX_ HV *hv, bool *needs_copy, bool *needs_store)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3);
 
 STATIC void	S_unshare_hek_or_pvn(pTHX_ const HEK* hek, const char* str, I32 len, U32 hash);
 STATIC HEK*	S_share_hek_flags(pTHX_ const char* sv, I32 len, U32 hash, int flags)
@@ -3735,10 +3735,10 @@ STATIC void	S_glob_assign_ref(pTHX_ SV *dstr, SV *sstr)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
 
-STATIC PTR_TBL_ENT_t *	S_ptr_table_find(PTR_TBL_t *tbl, const void *sv)
+STATIC PTR_TBL_ENT_t *	S_ptr_table_find(pTHX_ PTR_TBL_t *tbl, const void *sv)
 			__attribute__warn_unused_result__
-			__attribute__nonnull__(1)
-			__attribute__nonnull__(2);
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
 
 STATIC SV *	S_find_hash_subscript(pTHX_ HV *hv, SV *val)
 			__attribute__nonnull__(pTHX_2);
diff --git a/sv.c b/sv.c
index a26c14a..4a79790 100644
--- a/sv.c
+++ b/sv.c
@@ -9294,7 +9294,7 @@ Perl_ptr_table_new(pTHX)
 /* map an existing pointer using a table */
 
 STATIC PTR_TBL_ENT_t *
-S_ptr_table_find(PTR_TBL_t *tbl, const void *sv) {
+S_ptr_table_find(pTHX_ PTR_TBL_t *tbl, const void *sv) {
     PTR_TBL_ENT_t *tblent;
     const UV hash = PTR_TABLE_HASH(sv);
     assert(tbl);
@@ -9309,7 +9309,7 @@ S_ptr_table_find(PTR_TBL_t *tbl, const void *sv) {
 void *
 Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *tbl, const void *sv)
 {
-    PTR_TBL_ENT_t const *const tblent = ptr_table_find(tbl, sv);
+    PTR_TBL_ENT_t const *const tblent = S_ptr_table_find(aTHX_ tbl, sv);
     return tblent ? tblent->newval : (void *) 0;
 }
 
@@ -9318,7 +9318,7 @@ Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *tbl, const void *sv)
 void
 Perl_ptr_table_store(pTHX_ PTR_TBL_t *tbl, const void *oldsv, void *newsv)
 {
-    PTR_TBL_ENT_t *tblent = S_ptr_table_find(tbl, oldsv);
+    PTR_TBL_ENT_t *tblent = S_ptr_table_find(aTHX_ tbl, oldsv);
 
     if (tblent) {
 	tblent->newval = newsv;