This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
sv_buf_to_rw can be static
authorFather Chrysostomos <sprout@cpan.org>
Fri, 17 Jan 2014 14:30:57 +0000 (06:30 -0800)
committerFather Chrysostomos <sprout@cpan.org>
Fri, 17 Jan 2014 14:30:57 +0000 (06:30 -0800)
sv_buf_to_ro needs to be non-static because op.c uses it, but
sv_buf_to_rw is only called from sv.c.

embed.fnc
embed.h
proto.h
sv.c

index a4d9dab..bbaaaa6 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -1317,7 +1317,9 @@ Apd       |int    |sv_backoff     |NN SV *const sv
 Apd    |SV*    |sv_bless       |NN SV *const sv|NN HV *const stash
 #if defined(PERL_DEBUG_READONLY_COW)
 p      |void   |sv_buf_to_ro   |NN SV *sv
-p      |void   |sv_buf_to_rw   |NN SV *sv
+# if defined(PERL_IN_SV_C)
+s      |void   |sv_buf_to_rw   |NN SV *sv
+# endif
 #endif
 Afpd   |void   |sv_catpvf      |NN SV *const sv|NN const char *const pat|...
 Apd    |void   |sv_vcatpvf     |NN SV *const sv|NN const char *const pat \
diff --git a/embed.h b/embed.h
index be600f9..1fa22e2 100644 (file)
--- a/embed.h
+++ b/embed.h
 #  endif
 #  if defined(PERL_DEBUG_READONLY_COW)
 #define sv_buf_to_ro(a)                Perl_sv_buf_to_ro(aTHX_ a)
-#define sv_buf_to_rw(a)                Perl_sv_buf_to_rw(aTHX_ a)
+#    if defined(PERL_IN_SV_C)
+#define sv_buf_to_rw(a)                S_sv_buf_to_rw(aTHX_ a)
+#    endif
 #  endif
 #  if defined(PERL_IN_AV_C)
 #define get_aux_mg(a)          S_get_aux_mg(aTHX_ a)
diff --git a/proto.h b/proto.h
index 94d057c..c816b7c 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -5507,11 +5507,13 @@ PERL_CALLCONV void      Perl_sv_buf_to_ro(pTHX_ SV *sv)
 #define PERL_ARGS_ASSERT_SV_BUF_TO_RO  \
        assert(sv)
 
-PERL_CALLCONV void     Perl_sv_buf_to_rw(pTHX_ SV *sv)
+#  if defined(PERL_IN_SV_C)
+STATIC void    S_sv_buf_to_rw(pTHX_ SV *sv)
                        __attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_SV_BUF_TO_RW  \
        assert(sv)
 
+#  endif
 #endif
 #if defined(PERL_DEBUG_READONLY_OPS)
 PERL_CALLCONV PADOFFSET        Perl_op_refcnt_dec(pTHX_ OP *o)
diff --git a/sv.c b/sv.c
index 94f1906..d6d61a6 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -4055,8 +4055,8 @@ Perl_sv_buf_to_ro(pTHX_ SV *sv)
                         header, len, errno);
 }
 
-void
-Perl_sv_buf_to_rw(pTHX_ SV *sv)
+static void
+S_sv_buf_to_rw(pTHX_ SV *sv)
 {
     struct perl_memory_debug_header * const header =
        (struct perl_memory_debug_header *)(SvPVX(sv)-sTHX);