summaryrefslogtreecommitdiff
path: root/cv.h
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2012-08-18 13:16:31 -0700
committerFather Chrysostomos <sprout@cpan.org>2012-08-21 16:38:35 -0700
commit1afe1db112afcab7a87a011bd5c02cf0cc8ea95c (patch)
tree063b55c2d87b8b5f6961fc63f69c2e9c812ac60d /cv.h
parent541377b1bd73cdee43dd47958251827cfdc59320 (diff)
downloadperl-1afe1db112afcab7a87a011bd5c02cf0cc8ea95c.tar.gz
Move S_CvDEPTHp from cv.h to inline.h; shrink macros
This allows us to use assert() inside S_CvDEPTHp, so we no longer need GCC and non-GCC variants of the macro that calls it.
Diffstat (limited to 'cv.h')
-rw-r--r--cv.h17
1 files changed, 1 insertions, 16 deletions
diff --git a/cv.h b/cv.h
index 36a3592e8f..7c06727102 100644
--- a/cv.h
+++ b/cv.h
@@ -61,22 +61,7 @@ See L<perlguts/Autoloading with XSUBs>.
(CvFILE(sv) = CopFILE(cop), CvDYNFILE_off(sv))
#endif
#define CvFILEGV(sv) (gv_fetchfile(CvFILE(sv)))
-PERL_STATIC_INLINE I32 *
-S_CvDEPTHp(const CV * const sv)
-{
- return SvTYPE(sv) == SVt_PVCV
- ? &((XPVCV*)SvANY(sv))->xcv_depth
- : &((XPVCV*)SvANY(sv))->xpv_fmdepth;
-}
-#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-# define CvDEPTH(sv) (*({const CV *const _cvdepth = (const CV *)sv; \
- assert(SvTYPE(_cvdepth) == SVt_PVCV \
- || SvTYPE(_cvdepth) == SVt_PVFM); \
- S_CvDEPTHp(_cvdepth); \
- }))
-#else
-# define CvDEPTH(sv) (*S_CvDEPTHp((const CV *)sv))
-#endif
+#define CvDEPTH(sv) (*S_CvDEPTHp((const CV *)sv))
#define CvPADLIST(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_padlist
#define CvOUTSIDE(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_outside
#define CvFLAGS(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_flags