@@ -1981,19 +1981,22 @@ END_EXTERN_C
19811981 (((SvFLAGS(sv) & (SVf_POK|SVs_GMG)) == SVf_POK) || ((SvFLAGS(sv) & (SVf_IOK|SVp_POK|SVs_GMG)) == (SVf_IOK|SVp_POK)))
19821982
19831983#define SvPV_flags (sv , len , flags ) \
1984+ (STATIC_ASSERT_EXPR_(sizeof(len) == sizeof(STRLEN)), \
19841985 Perl_SvPV_helper(aTHX_ sv, &len, flags, SvPVnormal_type_, \
1985- Perl_sv_2pv_flags, FALSE, 0)
1986+ Perl_sv_2pv_flags, FALSE, 0))
19861987#define SvPV_flags_const (sv , len , flags ) \
1988+ (STATIC_ASSERT_EXPR_(sizeof(len) == sizeof(STRLEN)), \
19871989 ((const char*) Perl_SvPV_helper(aTHX_ sv, &len, flags, SvPVnormal_type_, \
19881990 Perl_sv_2pv_flags, FALSE, \
1989- SV_CONST_RETURN))
1991+ SV_CONST_RETURN)))
19901992#define SvPV_flags_const_nolen (sv , flags ) \
19911993 ((const char*) Perl_SvPV_helper(aTHX_ sv, NULL, flags, SvPVnormal_type_, \
19921994 Perl_sv_2pv_flags, FALSE, \
19931995 SV_CONST_RETURN))
19941996#define SvPV_flags_mutable (sv , len , flags ) \
1997+ (STATIC_ASSERT_EXPR_(sizeof(len) == sizeof(STRLEN)), \
19951998 Perl_SvPV_helper(aTHX_ sv, &len, flags, SvPVnormal_type_, \
1996- Perl_sv_2pv_flags, FALSE, SV_MUTABLE_RETURN)
1999+ Perl_sv_2pv_flags, FALSE, SV_MUTABLE_RETURN))
19972000
19982001#define SvPV_nolen (sv ) \
19992002 Perl_SvPV_helper(aTHX_ sv, NULL, SV_GMAGIC, SvPVnormal_type_, \
@@ -2013,14 +2016,16 @@ END_EXTERN_C
20132016#define SvPV_nomg_const_nolen (sv ) SvPV_flags_const_nolen(sv, 0)
20142017
20152018#define SvPV_force_flags (sv , len , flags ) \
2019+ (STATIC_ASSERT_EXPR_(sizeof(len) == sizeof(STRLEN)), \
20162020 Perl_SvPV_helper(aTHX_ sv, &len, flags, SvPVforce_type_, \
2017- Perl_sv_pvn_force_flags, FALSE, 0)
2021+ Perl_sv_pvn_force_flags, FALSE, 0))
20182022#define SvPV_force_flags_nolen (sv , flags ) \
20192023 Perl_SvPV_helper(aTHX_ sv, NULL, flags, SvPVforce_type_, \
20202024 Perl_sv_pvn_force_flags, FALSE, 0)
20212025#define SvPV_force_flags_mutable (sv , len , flags ) \
2026+ (STATIC_ASSERT_EXPR_(sizeof(len) == sizeof(STRLEN)), \
20222027 Perl_SvPV_helper(aTHX_ sv, &len, flags, SvPVforce_type_, \
2023- Perl_sv_pvn_force_flags, FALSE, SV_MUTABLE_RETURN)
2028+ Perl_sv_pvn_force_flags, FALSE, SV_MUTABLE_RETURN))
20242029
20252030#define SvPV_force (sv , len ) SvPV_force_flags(sv, len, SV_GMAGIC)
20262031#define SvPV_force_nolen (sv ) SvPV_force_flags_nolen(sv, SV_GMAGIC)
@@ -2031,44 +2036,54 @@ END_EXTERN_C
20312036#define SvPV_force_nomg_nolen (sv ) SvPV_force_flags_nolen(sv, 0)
20322037
20332038#define SvPVutf8 (sv , len ) \
2039+ (STATIC_ASSERT_EXPR_(sizeof(len) == sizeof(STRLEN)), \
20342040 Perl_SvPV_helper(aTHX_ sv, &len, SV_GMAGIC, SvPVutf8_type_, \
2035- Perl_sv_2pvutf8_flags, FALSE, 0)
2041+ Perl_sv_2pvutf8_flags, FALSE, 0))
20362042#define SvPVutf8_nomg (sv , len ) \
2043+ (STATIC_ASSERT_EXPR_(sizeof(len) == sizeof(STRLEN)), \
20372044 Perl_SvPV_helper(aTHX_ sv, &len, 0, SvPVutf8_type_, \
2038- Perl_sv_2pvutf8_flags, FALSE, 0)
2045+ Perl_sv_2pvutf8_flags, FALSE, 0))
20392046#define SvPVutf8_nolen (sv ) \
20402047 Perl_SvPV_helper(aTHX_ sv, NULL, SV_GMAGIC, SvPVutf8_type_, \
20412048 Perl_sv_2pvutf8_flags, FALSE, 0)
20422049#define SvPVutf8_or_null (sv , len ) \
2050+ (STATIC_ASSERT_EXPR_(sizeof(len) == sizeof(STRLEN)), \
20432051 Perl_SvPV_helper(aTHX_ sv, &len, SV_GMAGIC, SvPVutf8_type_, \
2044- Perl_sv_2pvutf8_flags, TRUE, 0)
2052+ Perl_sv_2pvutf8_flags, TRUE, 0))
20452053#define SvPVutf8_or_null_nomg (sv , len ) \
2054+ (STATIC_ASSERT_EXPR_(sizeof(len) == sizeof(STRLEN)), \
20462055 Perl_SvPV_helper(aTHX_ sv, &len, 0, SvPVutf8_type_, \
2047- Perl_sv_2pvutf8_flags, TRUE, 0)
2056+ Perl_sv_2pvutf8_flags, TRUE, 0))
20482057
20492058#define SvPVbyte (sv , len ) \
2059+ (STATIC_ASSERT_EXPR_(sizeof(len) == sizeof(STRLEN)), \
20502060 Perl_SvPV_helper(aTHX_ sv, &len, SV_GMAGIC, SvPVbyte_type_, \
2051- Perl_sv_2pvbyte_flags, FALSE, 0)
2061+ Perl_sv_2pvbyte_flags, FALSE, 0))
20522062#define SvPVbyte_nomg (sv , len ) \
2063+ (STATIC_ASSERT_EXPR_(sizeof(len) == sizeof(STRLEN)), \
20532064 Perl_SvPV_helper(aTHX_ sv, &len, 0, SvPVbyte_type_, \
2054- Perl_sv_2pvbyte_flags, FALSE, 0)
2065+ Perl_sv_2pvbyte_flags, FALSE, 0))
20552066#define SvPVbyte_nolen (sv ) \
20562067 Perl_SvPV_helper(aTHX_ sv, NULL, SV_GMAGIC, SvPVbyte_type_, \
20572068 Perl_sv_2pvbyte_flags, FALSE, 0)
20582069#define SvPVbyte_or_null (sv , len ) \
2070+ (STATIC_ASSERT_EXPR_(sizeof(len) == sizeof(STRLEN)), \
20592071 Perl_SvPV_helper(aTHX_ sv, &len, SV_GMAGIC, SvPVbyte_type_, \
2060- Perl_sv_2pvbyte_flags, TRUE, 0)
2072+ Perl_sv_2pvbyte_flags, TRUE, 0))
20612073#define SvPVbyte_or_null_nomg (sv , len ) \
2074+ (STATIC_ASSERT_EXPR_(sizeof(len) == sizeof(STRLEN)), \
20622075 Perl_SvPV_helper(aTHX_ sv, &len, 0, SvPVbyte_type_, \
2063- Perl_sv_2pvbyte_flags, TRUE, 0)
2076+ Perl_sv_2pvbyte_flags, TRUE, 0))
20642077
20652078#define SvPVutf8_force (sv , len ) \
2079+ (STATIC_ASSERT_EXPR_(sizeof(len) == sizeof(STRLEN)), \
20662080 Perl_SvPV_helper(aTHX_ sv, &len, 0, SvPVutf8_pure_type_, \
2067- Perl_sv_pvutf8n_force_wrapper, FALSE, 0)
2081+ Perl_sv_pvutf8n_force_wrapper, FALSE, 0))
20682082
20692083#define SvPVbyte_force (sv , len ) \
2084+ (STATIC_ASSERT_EXPR_(sizeof(len) == sizeof(STRLEN)), \
20702085 Perl_SvPV_helper(aTHX_ sv, &len, 0, SvPVbyte_pure_type_, \
2071- Perl_sv_pvbyten_force_wrapper, FALSE, 0)
2086+ Perl_sv_pvbyten_force_wrapper, FALSE, 0))
20722087
20732088/* define FOOx(): Before FOO(x) was inlined, these were idempotent versions of
20742089 * FOO(). */
0 commit comments