summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2007-01-25 20:57:56 +0000
committerNicholas Clark <nick@ccl4.org>2007-01-25 20:57:56 +0000
commitda51bb9b4f7f527464b5e38aca8bcb956de1bbbc (patch)
treef2f952634f7d10137a8e0c223426969a64d76ff6
parentede8ac17cc8980652fa00e4d3b33ce031d6bbd24 (diff)
downloadperl-da51bb9b4f7f527464b5e38aca8bcb956de1bbbc.tar.gz
The last parameter to gv_stashpv/gv_stashpvn/gv_stashsv is a bitmask
of flags, not a boolean, so correct the documenation and callers. p4raw-id: //depot/perl@29977
-rw-r--r--embed.fnc6
-rw-r--r--ext/B/B.xs2
-rw-r--r--ext/IPC/SysV/SysV.xs2
-rw-r--r--ext/PerlIO/via/via.xs4
-rw-r--r--ext/Storable/Storable.xs6
-rw-r--r--gv.c63
-rw-r--r--op.c2
-rw-r--r--perlio.c2
-rw-r--r--pod/perlapi.pod27
-rw-r--r--pod/perlguts.pod8
-rw-r--r--pp.c2
-rw-r--r--pp_hot.c4
-rw-r--r--pp_sys.c4
-rw-r--r--proto.h6
-rw-r--r--sv.c2
-rw-r--r--toke.c8
-rw-r--r--universal.c12
-rw-r--r--utf8.c2
18 files changed, 80 insertions, 82 deletions
diff --git a/embed.fnc b/embed.fnc
index 53e6f4e850..eeedaf8886 100644
--- a/embed.fnc
+++ b/embed.fnc
@@ -289,9 +289,9 @@ Ap |void |gv_fullname4 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool
pMox |GP * |newGP |NN GV *const gv
Ap |void |gv_init |NN GV* gv|NULLOK HV* stash|NN const char* name|STRLEN len|int multi
Ap |void |gv_name_set |NN GV* gv|NN const char *name|U32 len|U32 flags
-Apd |HV* |gv_stashpv |NN const char* name|I32 create
-Apd |HV* |gv_stashpvn |NN const char* name|U32 namelen|I32 create
-Apd |HV* |gv_stashsv |NULLOK SV* sv|I32 create
+Apd |HV* |gv_stashpv |NN const char* name|I32 flags
+Apd |HV* |gv_stashpvn |NN const char* name|U32 namelen|I32 flags
+Apd |HV* |gv_stashsv |NULLOK SV* sv|I32 flags
Apd |void |hv_clear |NULLOK HV* tb
poM |HV * |hv_copy_hints_hv|NN HV *const ohv
Ap |void |hv_delayfree_ent|NN HV* hv|NULLOK HE* entry
diff --git a/ext/B/B.xs b/ext/B/B.xs
index 4502782605..75fb33bf32 100644
--- a/ext/B/B.xs
+++ b/ext/B/B.xs
@@ -577,7 +577,7 @@ PROTOTYPES: DISABLE
BOOT:
{
- HV *stash = gv_stashpvn("B", 1, TRUE);
+ HV *stash = gv_stashpvn("B", 1, GV_ADD);
AV *export_ok = perl_get_av("B::EXPORT_OK",TRUE);
MY_CXT_INIT;
specialsv_list[0] = Nullsv;
diff --git a/ext/IPC/SysV/SysV.xs b/ext/IPC/SysV/SysV.xs
index 35a8fde0b2..d2b1ecbac1 100644
--- a/ext/IPC/SysV/SysV.xs
+++ b/ext/IPC/SysV/SysV.xs
@@ -216,7 +216,7 @@ SHMLBA()
BOOT:
{
- HV *stash = gv_stashpvn("IPC::SysV", 9, TRUE);
+ HV *stash = gv_stashpvn("IPC::SysV", 9, GV_ADD);
/*
* constant subs for IPC::SysV
*/
diff --git a/ext/PerlIO/via/via.xs b/ext/PerlIO/via/via.xs
index 36e739adf5..5670887e18 100644
--- a/ext/PerlIO/via/via.xs
+++ b/ext/PerlIO/via/via.xs
@@ -135,13 +135,13 @@ PerlIOVia_pushed(pTHX_ PerlIO * f, const char *mode, SV * arg,
STRLEN pkglen = 0;
const char *pkg = SvPV(arg, pkglen);
s->obj = SvREFCNT_inc(arg);
- s->stash = gv_stashpvn(pkg, pkglen, FALSE);
+ s->stash = gv_stashpvn(pkg, pkglen, 0);
if (!s->stash) {
SvREFCNT_dec(s->obj);
s->obj =
newSVpvn(Perl_form(aTHX_ "PerlIO::via::%s", pkg),
pkglen + 13);
- s->stash = gv_stashpvn(SvPVX_const(s->obj), pkglen + 13, FALSE);
+ s->stash = gv_stashpvn(SvPVX_const(s->obj), pkglen + 13, 0);
}
if (s->stash) {
char lmode[8];
diff --git a/ext/Storable/Storable.xs b/ext/Storable/Storable.xs
index aa4b57dac8..2590bfa0bc 100644
--- a/ext/Storable/Storable.xs
+++ b/ext/Storable/Storable.xs
@@ -388,7 +388,7 @@ typedef struct stcxt {
STMT_START { \
SV *self = newSV(sizeof(stcxt_t) - 1); \
SV *my_sv = newRV_noinc(self); \
- sv_bless(my_sv, gv_stashpv("Storable::Cxt", TRUE)); \
+ sv_bless(my_sv, gv_stashpv("Storable::Cxt", GV_ADD)); \
cxt = (stcxt_t *)SvPVX(self); \
Zero(cxt, 1, stcxt_t); \
cxt->my_sv = my_sv; \
@@ -1047,7 +1047,7 @@ static const char byteorderstr_56[] = {BYTEORDER_BYTES_56, 0};
SV *ref; \
HV *stash; \
TRACEME(("blessing 0x%"UVxf" in %s", PTR2UV(s), (p))); \
- stash = gv_stashpv((p), TRUE); \
+ stash = gv_stashpv((p), GV_ADD); \
ref = newRV_noinc(s); \
(void) sv_bless(ref, stash); \
SvRV_set(ref, NULL); \
@@ -6377,7 +6377,7 @@ PROTOTYPES: ENABLE
BOOT:
{
- HV *stash = gv_stashpvn("Storable", 8, TRUE);
+ HV *stash = gv_stashpvn("Storable", 8, GV_ADD);
newCONSTSUB(stash, "BIN_MAJOR", newSViv(STORABLE_BIN_MAJOR));
newCONSTSUB(stash, "BIN_MINOR", newSViv(STORABLE_BIN_MINOR));
newCONSTSUB(stash, "BIN_WRITE_MINOR", newSViv(STORABLE_BIN_WRITE_MINOR));
diff --git a/gv.c b/gv.c
index 78e528f8a4..9617b82638 100644
--- a/gv.c
+++ b/gv.c
@@ -325,7 +325,7 @@ Perl_gv_fetchmeth(pTHX_ HV *stash, const char *name, STRLEN len, I32 level)
/* UNIVERSAL methods should be callable without a stash */
if (!stash) {
level = -1; /* probably appropriate */
- if(!(stash = gv_stashpvs("UNIVERSAL", FALSE)))
+ if(!(stash = gv_stashpvs("UNIVERSAL", 0)))
return 0;
}
@@ -371,7 +371,7 @@ Perl_gv_fetchmeth(pTHX_ HV *stash, const char *name, STRLEN len, I32 level)
HV* basestash;
packlen -= 7;
- basestash = gv_stashpvn(hvname, packlen, TRUE);
+ basestash = gv_stashpvn(hvname, packlen, GV_ADD);
gvp = (GV**)hv_fetchs(basestash, "ISA", FALSE);
if (gvp && (gv = *gvp) != (GV*)&PL_sv_undef && (av = GvAV(gv))) {
gvp = (GV**)hv_fetchs(stash, "ISA", TRUE);
@@ -391,7 +391,7 @@ Perl_gv_fetchmeth(pTHX_ HV *stash, const char *name, STRLEN len, I32 level)
I32 items = AvFILLp(av) + 1;
while (items--) {
SV* const sv = *svp++;
- HV* const basestash = gv_stashsv(sv, FALSE);
+ HV* const basestash = gv_stashsv(sv, 0);
if (!basestash) {
if (ckWARN(WARN_MISC))
Perl_warner(aTHX_ packWARN(WARN_MISC), "Can't locate package %"SVf" for @%s::ISA",
@@ -408,7 +408,7 @@ Perl_gv_fetchmeth(pTHX_ HV *stash, const char *name, STRLEN len, I32 level)
/* if at top level, try UNIVERSAL */
if (level == 0 || level == -1) {
- lastchance = gv_stashpvs("UNIVERSAL", FALSE);
+ lastchance = gv_stashpvs("UNIVERSAL", 0);
if (lastchance) {
if ((gv = gv_fetchmeth(lastchance, name, len,
@@ -540,20 +540,20 @@ Perl_gv_fetchmethod_autoload(pTHX_ HV *stash, const char *name, I32 autoload)
SV * const tmpstr = sv_2mortal(Perl_newSVpvf(aTHX_ "%s::SUPER",
CopSTASHPV(PL_curcop)));
/* __PACKAGE__::SUPER stash should be autovivified */
- stash = gv_stashpvn(SvPVX_const(tmpstr), SvCUR(tmpstr), TRUE);
+ stash = gv_stashpvn(SvPVX_const(tmpstr), SvCUR(tmpstr), GV_ADD);
DEBUG_o( Perl_deb(aTHX_ "Treating %s as %s::%s\n",
origname, HvNAME_get(stash), name) );
}
else {
/* don't autovifify if ->NoSuchStash::method */
- stash = gv_stashpvn(origname, nsplit - origname, FALSE);
+ stash = gv_stashpvn(origname, nsplit - origname, 0);
/* however, explicit calls to Pkg::SUPER::method may
happen, and may require autovivification to work */
if (!stash && (nsplit - origname) >= 7 &&
strnEQ(nsplit - 7, "::SUPER", 7) &&
- gv_stashpvn(origname, nsplit - origname - 7, FALSE))
- stash = gv_stashpvn(origname, nsplit - origname, TRUE);
+ gv_stashpvn(origname, nsplit - origname - 7, 0))
+ stash = gv_stashpvn(origname, nsplit - origname, GV_ADD);
}
ostash = stash;
}
@@ -682,7 +682,7 @@ STATIC HV*
S_require_tie_mod(pTHX_ GV *gv, const char *varpv, SV* namesv, const char *methpv,const U32 flags)
{
dVAR;
- HV* stash = gv_stashsv(namesv, FALSE);
+ HV* stash = gv_stashsv(namesv, 0);
if (!stash || !(gv_fetchmethod(stash, methpv))) {
SV *module = newSVsv(namesv);
@@ -694,7 +694,7 @@ S_require_tie_mod(pTHX_ GV *gv, const char *varpv, SV* namesv, const char *methp
Perl_load_module(aTHX_ PERL_LOADMOD_NOIMPORT, module, NULL);
LEAVE;
SPAGAIN;
- stash = gv_stashsv(namesv, FALSE);
+ stash = gv_stashsv(namesv, 0);
if (!stash)
Perl_croak( aTHX_ "panic: Can't use %%%s because %"SVf" is not available",
varpv, SVfARG(module));
@@ -708,10 +708,8 @@ S_require_tie_mod(pTHX_ GV *gv, const char *varpv, SV* namesv, const char *methp
/*
=for apidoc gv_stashpv
-Returns a pointer to the stash for a specified package. C<name> should
-be a valid UTF-8 string and must be null-terminated. If C<create> is set
-then the package will be created if it does not already exist. If C<create>
-is not set and the package does not exist then NULL is returned.
+Returns a pointer to the stash for a specified package. Uses C<strlen> to
+determine the length of C<name, then calls C<gv_stashpvn()>.
=cut
*/
@@ -725,17 +723,19 @@ Perl_gv_stashpv(pTHX_ const char *name, I32 create)
/*
=for apidoc gv_stashpvn
-Returns a pointer to the stash for a specified package. C<name> should
-be a valid UTF-8 string. The C<namelen> parameter indicates the length of
-the C<name>, in bytes. If C<create> is set then the package will be
-created if it does not already exist. If C<create> is not set and the
-package does not exist then NULL is returned.
+Returns a pointer to the stash for a specified package. The C<namelen>
+parameter indicates the length of the C<name>, in bytes. C<flags> is passed
+to C<gv_fetchpvn_flags()>, so if set to C<GV_ADD> then the package will be
+created if it does not already exist. If the package does not exist and
+C<flags> is 0 (or any other setting that does not create packages) then NULL
+is returned.
+
=cut
*/
HV*
-Perl_gv_stashpvn(pTHX_ const char *name, U32 namelen, I32 create)
+Perl_gv_stashpvn(pTHX_ const char *name, U32 namelen, I32 flags)
{
char smallbuf[128];
char *tmpbuf;
@@ -750,11 +750,11 @@ Perl_gv_stashpvn(pTHX_ const char *name, U32 namelen, I32 create)
tmpbuf[namelen++] = ':';
tmpbuf[namelen++] = ':';
tmpbuf[namelen] = '\0';
- tmpgv = gv_fetchpvn_flags(tmpbuf, namelen, create, SVt_PVHV);
+ tmpgv = gv_fetchpvn_flags(tmpbuf, namelen, flags, SVt_PVHV);
if (tmpbuf != smallbuf)
Safefree(tmpbuf);
if (!tmpgv)
- return 0;
+ return NULL;
if (!GvHV(tmpgv))
GvHV(tmpgv) = newHV();
stash = GvHV(tmpgv);
@@ -766,18 +766,17 @@ Perl_gv_stashpvn(pTHX_ const char *name, U32 namelen, I32 create)
/*
=for apidoc gv_stashsv
-Returns a pointer to the stash for a specified package, which must be a
-valid UTF-8 string. See C<gv_stashpv>.
+Returns a pointer to the stash for a specified package. See C<gv_stashpvn>.
=cut
*/
HV*
-Perl_gv_stashsv(pTHX_ SV *sv, I32 create)
+Perl_gv_stashsv(pTHX_ SV *sv, I32 flags)
{
STRLEN len;
const char * const ptr = SvPV_const(sv,len);
- return gv_stashpvn(ptr, len, create);
+ return gv_stashpvn(ptr, len, flags);
}
@@ -1056,15 +1055,15 @@ Perl_gv_fetchpvn_flags(pTHX_ const char *nambeg, STRLEN full_len, I32 flags,
{
const char *pname;
av_push(av, newSVpvn(pname = "NDBM_File",9));
- gv_stashpvn(pname, 9, TRUE);
+ gv_stashpvn(pname, 9, GV_ADD);
av_push(av, newSVpvn(pname = "DB_File",7));
- gv_stashpvn(pname, 7, TRUE);
+ gv_stashpvn(pname, 7, GV_ADD);
av_push(av, newSVpvn(pname = "GDBM_File",9));
- gv_stashpvn(pname, 9, TRUE);
+ gv_stashpvn(pname, 9, GV_ADD);
av_push(av, newSVpvn(pname = "SDBM_File",9));
- gv_stashpvn(pname, 9, TRUE);
+ gv_stashpvn(pname, 9, GV_ADD);
av_push(av, newSVpvn(pname = "ODBM_File",9));
- gv_stashpvn(pname, 9, TRUE);
+ gv_stashpvn(pname, 9, GV_ADD);
}
}
break;
@@ -1205,7 +1204,7 @@ Perl_gv_fetchpvn_flags(pTHX_ const char *nambeg, STRLEN full_len, I32 flags,
HV *const hv_tie = newHV();
SV *tie = newRV_noinc((SV*)hv_tie);
- sv_bless(tie, gv_stashsv(stashname,1));
+ sv_bless(tie, gv_stashsv(stashname,GV_ADD));
hv_magic(hv, (GV*)tie, PERL_MAGIC_tied);
sv_magic((SV*)av, (plus ? (SV*)av : NULL), PERL_MAGIC_regdata, NULL, 0);
sv_magic(GvSVn(gv), (SV*)gv, PERL_MAGIC_sv, name, len);
diff --git a/op.c b/op.c
index 6a0fa66436..5d78580bfa 100644
--- a/op.c
+++ b/op.c
@@ -3492,7 +3492,7 @@ Perl_package(pTHX_ OP *o)
save_item(PL_curstname);
name = SvPV_const(cSVOPo->op_sv, len);
- PL_curstash = gv_stashpvn(name, len, TRUE);
+ PL_curstash = gv_stashpvn(name, len, GV_ADD);
sv_setpvn(PL_curstname, name, len);
PL_hints |= HINT_BLOCK_SCOPE;
diff --git a/perlio.c b/perlio.c
index 939665021f..95867507a9 100644
--- a/perlio.c
+++ b/perlio.c
@@ -902,7 +902,7 @@ XS(XS_io_MODIFY_SCALAR_ATTRIBUTES)
SV *
PerlIO_tab_sv(pTHX_ PerlIO_funcs *tab)
{
- HV * const stash = gv_stashpvs("PerlIO::Layer", TRUE);
+ HV * const stash = gv_stashpvs("PerlIO::Layer", GV_ADD);
SV * const sv = sv_bless(newRV_noinc(newSViv(PTR2IV(tab))), stash);
return sv;
}
diff --git a/pod/perlapi.pod b/pod/perlapi.pod
index 88f5f791d8..d2259d5234 100644
--- a/pod/perlapi.pod
+++ b/pod/perlapi.pod
@@ -1358,12 +1358,10 @@ Found in file gv.c
=item gv_stashpv
X<gv_stashpv>
-Returns a pointer to the stash for a specified package. C<name> should
-be a valid UTF-8 string and must be null-terminated. If C<create> is set
-then the package will be created if it does not already exist. If C<create>
-is not set and the package does not exist then NULL is returned.
+Returns a pointer to the stash for a specified package. Uses C<strlen> to
+determine the length of C<name, then calls C<gv_stashpvn()>.
- HV* gv_stashpv(const char* name, I32 create)
+ HV* gv_stashpv(const char* name, I32 flags)
=for hackers
Found in file gv.c
@@ -1371,13 +1369,15 @@ Found in file gv.c
=item gv_stashpvn
X<gv_stashpvn>
-Returns a pointer to the stash for a specified package. C<name> should
-be a valid UTF-8 string. The C<namelen> parameter indicates the length of
-the C<name>, in bytes. If C<create> is set then the package will be
-created if it does not already exist. If C<create> is not set and the
-package does not exist then NULL is returned.
+Returns a pointer to the stash for a specified package. The C<namelen>
+parameter indicates the length of the C<name>, in bytes. C<flags> is passed
+to C<gv_fetchpvn_flags()>, so if set to C<GV_ADD> then the package will be
+created if it does not already exist. If the package does not exist and
+C<flags> is 0 (or any other setting that does not create packages) then NULL
+is returned.
- HV* gv_stashpvn(const char* name, U32 namelen, I32 create)
+
+ HV* gv_stashpvn(const char* name, U32 namelen, I32 flags)
=for hackers
Found in file gv.c
@@ -1395,10 +1395,9 @@ Found in file handy.h
=item gv_stashsv
X<gv_stashsv>
-Returns a pointer to the stash for a specified package, which must be a
-valid UTF-8 string. See C<gv_stashpv>.
+Returns a pointer to the stash for a specified package. See C<gv_stashpvn>.
- HV* gv_stashsv(SV* sv, I32 create)
+ HV* gv_stashsv(SV* sv, I32 flags)
=for hackers
Found in file gv.c
diff --git a/pod/perlguts.pod b/pod/perlguts.pod
index bbf8742d97..36a0ea1234 100644
--- a/pod/perlguts.pod
+++ b/pod/perlguts.pod
@@ -814,12 +814,12 @@ in the stash C<Baz::> in C<Bar::>'s stash.
To get the stash pointer for a particular package, use the function:
- HV* gv_stashpv(const char* name, I32 create)
- HV* gv_stashsv(SV*, I32 create)
+ HV* gv_stashpv(const char* name, I32 flags)
+ HV* gv_stashsv(SV*, I32 flags)
The first function takes a literal string, the second uses the string stored
in the SV. Remember that a stash is just a hash table, so you get back an
-C<HV*>. The C<create> flag will create a new package if it is set.
+C<HV*>. The C<flags> flag will create a new package if it is set to GV_ADD.
The name that C<gv_stash*v> wants is the name of the package whose symbol table
you want. The default package is called C<main>. If you have multiply nested
@@ -1187,7 +1187,7 @@ to do this.
CODE:
hash = newHV();
tie = newRV_noinc((SV*)newHV());
- stash = gv_stashpv("MyTie", TRUE);
+ stash = gv_stashpv("MyTie", GV_ADD);
sv_bless(tie, stash);
hv_magic(hash, (GV*)tie, PERL_MAGIC_tied);
RETVAL = newRV_noinc(hash);
diff --git a/pp.c b/pp.c
index 6f54dc65f2..e1a45c1a42 100644
--- a/pp.c
+++ b/pp.c
@@ -578,7 +578,7 @@ PP(pp_bless)
if (len == 0 && ckWARN(WARN_MISC))
Perl_warner(aTHX_ packWARN(WARN_MISC),
"Explicit blessing to '' (assuming package main)");
- stash = gv_stashpvn(ptr, len, TRUE);
+ stash = gv_stashpvn(ptr, len, GV_ADD);
}
(void)sv_bless(TOPs, stash);
diff --git a/pp_hot.c b/pp_hot.c
index dabdc97c66..e88dbb1052 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -2993,7 +2993,7 @@ S_method_common(pTHX_ SV* meth, U32* hashp)
: "on an undefined value");
}
/* assume it's a package name */
- stash = gv_stashpvn(packname, packlen, FALSE);
+ stash = gv_stashpvn(packname, packlen, 0);
if (!stash)
packsv = sv;
else {
@@ -3085,7 +3085,7 @@ S_method_common(pTHX_ SV* meth, U32* hashp)
}
/* we're relying on gv_fetchmethod not autovivifying the stash */
- if (gv_stashpvn(packname, packlen, FALSE)) {
+ if (gv_stashpvn(packname, packlen, 0)) {
Perl_croak(aTHX_
"Can't locate object method \"%s\" via package \"%.*s\"",
leaf, (int)packlen, packname);
diff --git a/pp_sys.c b/pp_sys.c
index 974f32af26..44adca6c74 100644
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -844,7 +844,7 @@ PP(pp_tie)
/* Not clear why we don't call call_method here too.
* perhaps to get different error message ?
*/
- stash = gv_stashsv(*MARK, FALSE);
+ stash = gv_stashsv(*MARK, 0);
if (!stash || !(gv = gv_fetchmethod(stash, methname))) {
DIE(aTHX_ "Can't locate object method \"%s\" via package \"%"SVf"\"",
methname, SVfARG(*MARK));
@@ -946,7 +946,7 @@ PP(pp_dbmopen)
HV * const hv = (HV*)POPs;
SV * const sv = sv_2mortal(newSVpvs("AnyDBM_File"));
- stash = gv_stashsv(sv, FALSE);
+ stash = gv_stashsv(sv, 0);
if (!stash || !(gv = gv_fetchmethod(stash, "TIEHASH"))) {
PUTBACK;
require_pv("AnyDBM_File.pm");
diff --git a/proto.h b/proto.h
index b1ec03b480..4f492b0b8d 100644
--- a/proto.h
+++ b/proto.h
@@ -662,13 +662,13 @@ PERL_CALLCONV void Perl_gv_name_set(pTHX_ GV* gv, const char *name, U32 len, U32
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-PERL_CALLCONV HV* Perl_gv_stashpv(pTHX_ const char* name, I32 create)
+PERL_CALLCONV HV* Perl_gv_stashpv(pTHX_ const char* name, I32 flags)
__attribute__nonnull__(pTHX_1);
-PERL_CALLCONV HV* Perl_gv_stashpvn(pTHX_ const char* name, U32 namelen, I32 create)
+PERL_CALLCONV HV* Perl_gv_stashpvn(pTHX_ const char* name, U32 namelen, I32 flags)
__attribute__nonnull__(pTHX_1);
-PERL_CALLCONV HV* Perl_gv_stashsv(pTHX_ SV* sv, I32 create);
+PERL_CALLCONV HV* Perl_gv_stashsv(pTHX_ SV* sv, I32 flags);
PERL_CALLCONV void Perl_hv_clear(pTHX_ HV* tb);
PERL_CALLCONV HV * Perl_hv_copy_hints_hv(pTHX_ HV *const ohv)
__attribute__nonnull__(pTHX_1);
diff --git a/sv.c b/sv.c
index 513a241a2a..dacd535f8e 100644
--- a/sv.c
+++ b/sv.c
@@ -7769,7 +7769,7 @@ Perl_newSVrv(pTHX_ SV *rv, const char *classname)
SvROK_on(rv);
if (classname) {
- HV* const stash = gv_stashpv(classname, TRUE);
+ HV* const stash = gv_stashpv(classname, GV_ADD);
(void)sv_bless(rv, stash);
}
return sv;
diff --git a/toke.c b/toke.c
index ae4558bee2..25c3f3e111 100644
--- a/toke.c
+++ b/toke.c
@@ -2659,7 +2659,7 @@ S_intuit_method(pTHX_ char *start, GV *gv, CV *cv)
if (indirgv && GvCVu(indirgv))
return 0;
/* filehandle or package name makes it a method */
- if (!gv || GvIO(indirgv) || gv_stashpvn(tmpbuf, len, FALSE)) {
+ if (!gv || GvIO(indirgv) || gv_stashpvn(tmpbuf, len, 0)) {
#ifdef PERL_MAD
soff = s - SvPVX(PL_linestr);
#endif
@@ -2891,7 +2891,7 @@ S_find_in_my_stash(pTHX_ const char *pkgname, I32 len)
pkgname = SvPV_nolen_const(sv);
}
- return gv_stashpv(pkgname, FALSE);
+ return gv_stashpv(pkgname, 0);
}
/*
@@ -5556,7 +5556,7 @@ Perl_yylex(pTHX)
d = PL_tokenbuf;
while (isLOWER(*d))
d++;
- if (!*d && !gv_stashpv(PL_tokenbuf,FALSE))
+ if (!*d && !gv_stashpv(PL_tokenbuf, 0))
Perl_warner(aTHX_ packWARN(WARN_RESERVED), PL_warn_reserved,
PL_tokenbuf);
}
@@ -6354,7 +6354,7 @@ Perl_yylex(pTHX)
*PL_tokenbuf = '\0';
s = force_word(s,WORD,TRUE,TRUE,FALSE);
if (isIDFIRST_lazy_if(PL_tokenbuf,UTF))
- gv_stashpvn(PL_tokenbuf, strlen(PL_tokenbuf), TRUE);
+ gv_stashpvn(PL_tokenbuf, strlen(PL_tokenbuf), GV_ADD);
else if (*s == '<')
yyerror("<> should be quotes");
}
diff --git a/universal.c b/universal.c
index 3fe831c310..d07ff2fd11 100644
--- a/universal.c
+++ b/universal.c
@@ -109,7 +109,7 @@ S_isa_lookup(pTHX_ HV *stash, const char *name, const HV* const name_stash,
I32 items = AvFILLp(av) + 1;
while (items--) {
SV* const sv = *svp++;
- HV* const basestash = gv_stashsv(sv, FALSE);
+ HV* const basestash = gv_stashsv(sv, 0);
if (!basestash) {
if (ckWARN(WARN_MISC))
Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
@@ -157,11 +157,11 @@ Perl_sv_derived_from(pTHX_ SV *sv, const char *name)
stash = SvOBJECT(sv) ? SvSTASH(sv) : NULL;
}
else {
- stash = gv_stashsv(sv, FALSE);
+ stash = gv_stashsv(sv, 0);
}
if (stash) {
- HV * const name_stash = gv_stashpv(name, FALSE);
+ HV * const name_stash = gv_stashpv(name, 0);
return isa_lookup(stash, name, name_stash, strlen(name), 0);
}
else
@@ -362,7 +362,7 @@ XS(XS_UNIVERSAL_can)
pkg = SvSTASH(sv);
}
else {
- pkg = gv_stashsv(sv, FALSE);
+ pkg = gv_stashsv(sv, 0);
}
if (pkg) {
@@ -411,7 +411,7 @@ XS(XS_UNIVERSAL_VERSION)
pkg = SvSTASH(sv);
}
else {
- pkg = gv_stashsv(ST(0), FALSE);
+ pkg = gv_stashsv(ST(0), 0);
}
gvp = pkg ? (GV**)hv_fetchs(pkg, "VERSION", FALSE) : NULL;
@@ -498,7 +498,7 @@ XS(XS_version_new)
rv = new_version(vs);
if ( strcmp(classname,"version") != 0 ) /* inherited new() */
- sv_bless(rv, gv_stashpv(classname,TRUE));
+ sv_bless(rv, gv_stashpv(classname, GV_ADD));
PUSHs(sv_2mortal(rv));
PUTBACK;
diff --git a/utf8.c b/utf8.c
index 7d85a885ae..b43c74ba10 100644
--- a/utf8.c
+++ b/utf8.c
@@ -1560,7 +1560,7 @@ Perl_swash_init(pTHX_ const char* pkg, const char* name, SV *listsv, I32 minbits
dSP;
const size_t pkg_len = strlen(pkg);
const size_t name_len = strlen(name);
- HV * const stash = gv_stashpvn(pkg, pkg_len, FALSE);
+ HV * const stash = gv_stashpvn(pkg, pkg_len, 0);
SV* errsv_save;
PUSHSTACKi(PERLSI_MAGIC);