Skip to content

Commit 53e8571

Browse files
committed
Perl_sv_2iv_flags(), Perl_sv_2uv_flags, Perl_sv_2nv and
Perl_sv_2pv_flags() all return 0/0/0.0/"" without warning given a NULL SV pointer so they ought to be marked as NULLOK in embed.fnc. p4raw-id: //depot/perl@33285
1 parent d38c816 commit 53e8571

File tree

2 files changed

+14
-28
lines changed

2 files changed

+14
-28
lines changed

embed.fnc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -812,18 +812,18 @@ Apd |IO* |sv_2io |NN SV* sv
812812
s |bool |glob_2number |NN GV* const gv
813813
s |char* |glob_2pv |NN GV* const gv|NULLOK STRLEN * const len
814814
#endif
815-
Amb |IV |sv_2iv |NN SV* sv
816-
Apd |IV |sv_2iv_flags |NN SV *const sv|const I32 flags
815+
Amb |IV |sv_2iv |NULLOK SV *sv
816+
Apd |IV |sv_2iv_flags |NULLOK SV *const sv|const I32 flags
817817
Apd |SV* |sv_2mortal |NULLOK SV* sv
818-
Apd |NV |sv_2nv |NN SV *const sv
818+
Apd |NV |sv_2nv |NULLOK SV *const sv
819819
pMd |SV* |sv_2num |NN SV *const sv
820-
Amb |char* |sv_2pv |NN SV* sv|NULLOK STRLEN* lp
821-
Apd |char* |sv_2pv_flags |NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
820+
Amb |char* |sv_2pv |NULLOK SV *sv|NULLOK STRLEN *lp
821+
Apd |char* |sv_2pv_flags |NULLOK SV *const sv|NULLOK STRLEN *const lp|const I32 flags
822822
Apd |char* |sv_2pvutf8 |NN SV* sv|NULLOK STRLEN* lp
823823
Apd |char* |sv_2pvbyte |NN SV *const sv|NULLOK STRLEN *const lp
824824
Ap |char* |sv_pvn_nomg |NN SV* sv|NULLOK STRLEN* lp
825-
Amb |UV |sv_2uv |NN SV* sv
826-
Apd |UV |sv_2uv_flags |NN SV *const sv|const I32 flags
825+
Amb |UV |sv_2uv |NULLOK SV *sv
826+
Apd |UV |sv_2uv_flags |NULLOK SV *const sv|const I32 flags
827827
Apd |IV |sv_iv |NN SV* sv
828828
Apd |UV |sv_uv |NN SV* sv
829829
Apd |NV |sv_nv |NN SV* sv

proto.h

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2169,25 +2169,15 @@ STATIC char* S_glob_2pv(pTHX_ GV* const gv, STRLEN * const len)
21692169
__attribute__nonnull__(pTHX_1);
21702170

21712171
#endif
2172-
/* PERL_CALLCONV IV Perl_sv_2iv(pTHX_ SV* sv)
2173-
__attribute__nonnull__(pTHX_1); */
2174-
2175-
PERL_CALLCONV IV Perl_sv_2iv_flags(pTHX_ SV *const sv, const I32 flags)
2176-
__attribute__nonnull__(pTHX_1);
2177-
2172+
/* PERL_CALLCONV IV Perl_sv_2iv(pTHX_ SV *sv); */
2173+
PERL_CALLCONV IV Perl_sv_2iv_flags(pTHX_ SV *const sv, const I32 flags);
21782174
PERL_CALLCONV SV* Perl_sv_2mortal(pTHX_ SV* sv);
2179-
PERL_CALLCONV NV Perl_sv_2nv(pTHX_ SV *const sv)
2180-
__attribute__nonnull__(pTHX_1);
2181-
2175+
PERL_CALLCONV NV Perl_sv_2nv(pTHX_ SV *const sv);
21822176
PERL_CALLCONV SV* Perl_sv_2num(pTHX_ SV *const sv)
21832177
__attribute__nonnull__(pTHX_1);
21842178

2185-
/* PERL_CALLCONV char* Perl_sv_2pv(pTHX_ SV* sv, STRLEN* lp)
2186-
__attribute__nonnull__(pTHX_1); */
2187-
2188-
PERL_CALLCONV char* Perl_sv_2pv_flags(pTHX_ SV *const sv, STRLEN *const lp, const I32 flags)
2189-
__attribute__nonnull__(pTHX_1);
2190-
2179+
/* PERL_CALLCONV char* Perl_sv_2pv(pTHX_ SV *sv, STRLEN *lp); */
2180+
PERL_CALLCONV char* Perl_sv_2pv_flags(pTHX_ SV *const sv, STRLEN *const lp, const I32 flags);
21912181
PERL_CALLCONV char* Perl_sv_2pvutf8(pTHX_ SV* sv, STRLEN* lp)
21922182
__attribute__nonnull__(pTHX_1);
21932183

@@ -2197,12 +2187,8 @@ PERL_CALLCONV char* Perl_sv_2pvbyte(pTHX_ SV *const sv, STRLEN *const lp)
21972187
PERL_CALLCONV char* Perl_sv_pvn_nomg(pTHX_ SV* sv, STRLEN* lp)
21982188
__attribute__nonnull__(pTHX_1);
21992189

2200-
/* PERL_CALLCONV UV Perl_sv_2uv(pTHX_ SV* sv)
2201-
__attribute__nonnull__(pTHX_1); */
2202-
2203-
PERL_CALLCONV UV Perl_sv_2uv_flags(pTHX_ SV *const sv, const I32 flags)
2204-
__attribute__nonnull__(pTHX_1);
2205-
2190+
/* PERL_CALLCONV UV Perl_sv_2uv(pTHX_ SV *sv); */
2191+
PERL_CALLCONV UV Perl_sv_2uv_flags(pTHX_ SV *const sv, const I32 flags);
22062192
PERL_CALLCONV IV Perl_sv_iv(pTHX_ SV* sv)
22072193
__attribute__nonnull__(pTHX_1);
22082194

0 commit comments

Comments
 (0)