This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add a const qualifier for the arg to the S_CvGV inline function in cv.h.
authorAndy Dougherty <doughera@lafayette.edu>
Fri, 12 Jul 2013 13:26:18 +0000 (09:26 -0400)
committerAndy Dougherty <doughera@lafayette.edu>
Fri, 12 Jul 2013 16:26:57 +0000 (12:26 -0400)
In addition to correctly describing the behavior of S_CvGV, this avoids
warnings in op.c:Perl_report_redefined_cv, where the old (CV *) cast
removed the 'const' qualifier.  Observed on OpenBSD 5.2 with gcc-4.2.1.

cv.h

diff --git a/cv.h b/cv.h
index 5da9a50..234e030 100644 (file)
--- a/cv.h
+++ b/cv.h
@@ -49,7 +49,7 @@ See L<perlguts/Autoloading with XSUBs>.
 #define CvROOT(sv)     ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_root_u.xcv_root
 #define CvXSUB(sv)     ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_root_u.xcv_xsub
 #define CvXSUBANY(sv)  ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_start_u.xcv_xsubany
-#define CvGV(sv)       S_CvGV((CV *)(sv))
+#define CvGV(sv)       S_CvGV((const CV *)(sv))
 #define CvGV_set(cv,gv)        Perl_cvgv_set(aTHX_ cv, gv)
 #define CvFILE(sv)     ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_file
 #ifdef USE_ITHREADS
@@ -189,7 +189,7 @@ See L<perlguts/Autoloading with XSUBs>.
 #define XS_DYNAMIC_FILENAME    0x01    /* The filename isn't static  */
 
 PERL_STATIC_INLINE GV *
-S_CvGV(CV *sv)
+S_CvGV(const CV *sv)
 {
     return CvNAMED(sv)
        ? 0