make uninitialized value warnings report opcode
Gurusamy Sarathy [Sat, 4 Dec 1999 04:42:25 +0000 (04:42 +0000)]
p4raw-id: //depot/perl@4641

23 files changed:
doio.c
embed.h
embed.pl
global.sym
objXSUB.h
opcode.h
opcode.pl
perl.h
perlapi.c
pp.c
pp_hot.c
proto.h
sv.c
t/op/misc.t
t/pragma/warn/1global
t/pragma/warn/2use
t/pragma/warn/3both
t/pragma/warn/4lint
t/pragma/warn/7fatal
t/pragma/warn/doio
t/pragma/warn/pp
t/pragma/warn/pp_hot
t/pragma/warn/sv

diff --git a/doio.c b/doio.c
index 4a0edbb..37e061a 100644 (file)
--- a/doio.c
+++ b/doio.c
@@ -1026,7 +1026,7 @@ Perl_do_print(pTHX_ register SV *sv, PerlIO *fp)
        {
            dTHR;
            if (ckWARN(WARN_UNINITIALIZED))
-               Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+               report_uninit();
        }
        return TRUE;
     case SVt_IV:
diff --git a/embed.h b/embed.h
index f007287..9e331fb 100644 (file)
--- a/embed.h
+++ b/embed.h
 #define vivify_defelem         Perl_vivify_defelem
 #define vivify_ref             Perl_vivify_ref
 #define wait4pid               Perl_wait4pid
+#define report_uninit          Perl_report_uninit
 #define warn                   Perl_warn
 #define vwarn                  Perl_vwarn
 #define warner                 Perl_warner
 #define vivify_defelem(a)      Perl_vivify_defelem(aTHX_ a)
 #define vivify_ref(a,b)                Perl_vivify_ref(aTHX_ a,b)
 #define wait4pid(a,b,c)                Perl_wait4pid(aTHX_ a,b,c)
+#define report_uninit()                Perl_report_uninit(aTHX)
 #define vwarn(a,b)             Perl_vwarn(aTHX_ a,b)
 #define vwarner(a,b,c)         Perl_vwarner(aTHX_ a,b,c)
 #define watch(a)               Perl_watch(aTHX_ a)
 #define vivify_ref             Perl_vivify_ref
 #define Perl_wait4pid          CPerlObj::Perl_wait4pid
 #define wait4pid               Perl_wait4pid
+#define Perl_report_uninit     CPerlObj::Perl_report_uninit
+#define report_uninit          Perl_report_uninit
 #define Perl_warn              CPerlObj::Perl_warn
 #define warn                   Perl_warn
 #define Perl_vwarn             CPerlObj::Perl_vwarn
index 7ce28d5..978b13c 100755 (executable)
--- a/embed.pl
+++ b/embed.pl
@@ -1752,6 +1752,7 @@ p |U8*    |uv_to_utf8     |U8 *d|UV uv
 p      |void   |vivify_defelem |SV* sv
 p      |void   |vivify_ref     |SV* sv|U32 to_what
 p      |I32    |wait4pid       |Pid_t pid|int* statusp|int flags
+p      |void   |report_uninit
 p      |void   |warn           |const char* pat|...
 p      |void   |vwarn          |const char* pat|va_list* args
 p      |void   |warner         |U32 err|const char* pat|...
index 796ab64..1eca0c1 100644 (file)
@@ -610,6 +610,7 @@ Perl_uv_to_utf8
 Perl_vivify_defelem
 Perl_vivify_ref
 Perl_wait4pid
+Perl_report_uninit
 Perl_warn
 Perl_vwarn
 Perl_warner
index 72555ef..b28c69a 100644 (file)
--- a/objXSUB.h
+++ b/objXSUB.h
 #define Perl_wait4pid          pPerl->Perl_wait4pid
 #undef  wait4pid
 #define wait4pid               Perl_wait4pid
+#undef  Perl_report_uninit
+#define Perl_report_uninit     pPerl->Perl_report_uninit
+#undef  report_uninit
+#define report_uninit          Perl_report_uninit
 #undef  Perl_warn
 #define Perl_warn              pPerl->Perl_warn
 #undef  warn
index c2bb457..e4b25aa 100644 (file)
--- a/opcode.h
+++ b/opcode.h
@@ -388,9 +388,9 @@ EXT char *PL_op_desc[] = {
        "private value",
        "push regexp",
        "ref-to-glob cast",
-       "scalar deref",
+       "scalar dereference",
        "array length",
-       "subroutine deref",
+       "subroutine dereference",
        "anonymous subroutine",
        "subroutine prototype",
        "reference constructor",
index 60cdf49..e6f2292 100755 (executable)
--- a/opcode.pl
+++ b/opcode.pl
@@ -363,9 +363,9 @@ pushre              push regexp             ck_null         d/
 # References and stuff.
 
 rv2gv          ref-to-glob cast        ck_rvconst      ds1     
-rv2sv          scalar deref            ck_rvconst      ds1     
+rv2sv          scalar dereference      ck_rvconst      ds1     
 av2arylen      array length            ck_null         is1     
-rv2cv          subroutine deref        ck_rvconst      d1
+rv2cv          subroutine dereference  ck_rvconst      d1
 anoncode       anonymous subroutine    ck_anoncode     $       
 prototype      subroutine prototype    ck_null         s%      S
 refgen         reference constructor   ck_spair        m1      L
diff --git a/perl.h b/perl.h
index 7197dcc..a30cde4 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -2102,7 +2102,7 @@ START_EXTERN_C
 
 /* handy constants */
 EXTCONST char PL_warn_uninit[]
-  INIT("Use of uninitialized value");
+  INIT("Use of uninitialized value%s%s");
 EXTCONST char PL_warn_nosemi[]
   INIT("Semicolon seems to be missing");
 EXTCONST char PL_warn_reserved[]
index 2f902f8..c5f91b4 100644 (file)
--- a/perlapi.c
+++ b/perlapi.c
@@ -4371,6 +4371,13 @@ Perl_wait4pid(pTHXo_ Pid_t pid, int* statusp, int flags)
     return ((CPerlObj*)pPerl)->Perl_wait4pid(pid, statusp, flags);
 }
 
+#undef  Perl_report_uninit
+void
+Perl_report_uninit(pTHXo)
+{
+    ((CPerlObj*)pPerl)->Perl_report_uninit();
+}
+
 #undef  Perl_warn
 void
 Perl_warn(pTHXo_ const char* pat, ...)
diff --git a/pp.c b/pp.c
index f999b28..8736144 100644 (file)
--- a/pp.c
+++ b/pp.c
@@ -264,7 +264,7 @@ PP(pp_rv2gv)
                    PL_op->op_private & HINT_STRICT_REFS)
                    DIE(aTHX_ PL_no_usym, "a symbol");
                if (ckWARN(WARN_UNINITIALIZED))
-                   Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+                   report_uninit();
                RETSETUNDEF;
            }
            sym = SvPV(sv, n_a);
@@ -320,7 +320,7 @@ PP(pp_rv2sv)
                    PL_op->op_private & HINT_STRICT_REFS)
                    DIE(aTHX_ PL_no_usym, "a SCALAR");
                if (ckWARN(WARN_UNINITIALIZED))
-                   Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+                   report_uninit();
                RETSETUNDEF;
            }
            sym = SvPV(sv, n_a);
index 8697d36..743913d 100644 (file)
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -459,7 +459,7 @@ PP(pp_rv2av)
                      PL_op->op_private & HINT_STRICT_REFS)
                        DIE(aTHX_ PL_no_usym, "an ARRAY");
                    if (ckWARN(WARN_UNINITIALIZED))
-                       Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+                       report_uninit();
                    if (GIMME == G_ARRAY) {
                        (void)POPs;
                        RETURN;
@@ -559,7 +559,7 @@ PP(pp_rv2hv)
                      PL_op->op_private & HINT_STRICT_REFS)
                        DIE(aTHX_ PL_no_usym, "a HASH");
                    if (ckWARN(WARN_UNINITIALIZED))
-                       Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+                       report_uninit();
                    if (GIMME == G_ARRAY) {
                        SP--;
                        RETURN;
diff --git a/proto.h b/proto.h
index d950e9e..0225128 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -696,6 +696,7 @@ PERL_CALLCONV U8*   Perl_uv_to_utf8(pTHX_ U8 *d, UV uv);
 PERL_CALLCONV void     Perl_vivify_defelem(pTHX_ SV* sv);
 PERL_CALLCONV void     Perl_vivify_ref(pTHX_ SV* sv, U32 to_what);
 PERL_CALLCONV I32      Perl_wait4pid(pTHX_ Pid_t pid, int* statusp, int flags);
+PERL_CALLCONV void     Perl_report_uninit(pTHX);
 PERL_CALLCONV void     Perl_warn(pTHX_ const char* pat, ...);
 PERL_CALLCONV void     Perl_vwarn(pTHX_ const char* pat, va_list* args);
 PERL_CALLCONV void     Perl_warner(pTHX_ U32 err, const char* pat, ...);
diff --git a/sv.c b/sv.c
index 1c6ac83..1eb7972 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -316,6 +316,16 @@ Perl_sv_free_arenas(pTHX)
     PL_sv_root = 0;
 }
 
+void
+Perl_report_uninit(pTHX)
+{
+    if (PL_op)
+       Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit,
+                   " in ", PL_op_desc[PL_op->op_type]);
+    else
+       Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit, "", "");
+}
+
 STATIC XPVIV*
 S_new_xiv(pTHX)
 {
@@ -1427,7 +1437,7 @@ Perl_sv_2iv(pTHX_ register SV *sv)
            if (!(SvFLAGS(sv) & SVs_PADTMP)) {
                dTHR;
                if (ckWARN(WARN_UNINITIALIZED) && !PL_localizing)
-                   Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+                   report_uninit();
            }
            return 0;
        }
@@ -1442,7 +1452,7 @@ Perl_sv_2iv(pTHX_ register SV *sv)
        if (SvREADONLY(sv) && !SvOK(sv)) {
            dTHR;
            if (ckWARN(WARN_UNINITIALIZED))
-               Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+               report_uninit();
            return 0;
        }
     }
@@ -1538,7 +1548,7 @@ Perl_sv_2iv(pTHX_ register SV *sv)
     else  {
        dTHR;
        if (ckWARN(WARN_UNINITIALIZED) && !PL_localizing && !(SvFLAGS(sv) & SVs_PADTMP))
-           Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+           report_uninit();
        if (SvTYPE(sv) < SVt_IV)
            /* Typically the caller expects that sv_any is not NULL now.  */
            sv_upgrade(sv, SVt_IV);
@@ -1566,7 +1576,7 @@ Perl_sv_2uv(pTHX_ register SV *sv)
            if (!(SvFLAGS(sv) & SVs_PADTMP)) {
                dTHR;
                if (ckWARN(WARN_UNINITIALIZED) && !PL_localizing)
-                   Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+                   report_uninit();
            }
            return 0;
        }
@@ -1581,7 +1591,7 @@ Perl_sv_2uv(pTHX_ register SV *sv)
        if (SvREADONLY(sv) && !SvOK(sv)) {
            dTHR;
            if (ckWARN(WARN_UNINITIALIZED))
-               Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+               report_uninit();
            return 0;
        }
     }
@@ -1695,7 +1705,7 @@ Perl_sv_2uv(pTHX_ register SV *sv)
        if (!(SvFLAGS(sv) & SVs_PADTMP)) {
            dTHR;
            if (ckWARN(WARN_UNINITIALIZED) && !PL_localizing)
-               Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+               report_uninit();
        }
        if (SvTYPE(sv) < SVt_IV)
            /* Typically the caller expects that sv_any is not NULL now.  */
@@ -1733,7 +1743,7 @@ Perl_sv_2nv(pTHX_ register SV *sv)
            if (!(SvFLAGS(sv) & SVs_PADTMP)) {
                dTHR;
                if (ckWARN(WARN_UNINITIALIZED) && !PL_localizing)
-                   Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+                   report_uninit();
            }
             return 0;
         }
@@ -1748,7 +1758,7 @@ Perl_sv_2nv(pTHX_ register SV *sv)
        if (SvREADONLY(sv) && !SvOK(sv)) {
            dTHR;
            if (ckWARN(WARN_UNINITIALIZED))
-               Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+               report_uninit();
            return 0.0;
        }
     }
@@ -1790,7 +1800,7 @@ Perl_sv_2nv(pTHX_ register SV *sv)
     else  {
        dTHR;
        if (ckWARN(WARN_UNINITIALIZED) && !PL_localizing && !(SvFLAGS(sv) & SVs_PADTMP))
-           Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+           report_uninit();
        if (SvTYPE(sv) < SVt_NV)
            /* Typically the caller expects that sv_any is not NULL now.  */
            sv_upgrade(sv, SVt_NV);
@@ -2035,7 +2045,7 @@ Perl_sv_2pv(pTHX_ register SV *sv, STRLEN *lp)
            if (!(SvFLAGS(sv) & SVs_PADTMP)) {
                dTHR;
                if (ckWARN(WARN_UNINITIALIZED) && !PL_localizing)
-                   Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+                   report_uninit();
            }
             *lp = 0;
             return "";
@@ -2129,7 +2139,7 @@ Perl_sv_2pv(pTHX_ register SV *sv, STRLEN *lp)
        if (SvREADONLY(sv) && !SvOK(sv)) {
            dTHR;
            if (ckWARN(WARN_UNINITIALIZED))
-               Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+               report_uninit();
            *lp = 0;
            return "";
        }
@@ -2193,7 +2203,7 @@ Perl_sv_2pv(pTHX_ register SV *sv, STRLEN *lp)
        if (ckWARN(WARN_UNINITIALIZED)
            && !PL_localizing && !(SvFLAGS(sv) & SVs_PADTMP))
        {
-           Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
+           report_uninit();
        }
        *lp = 0;
        if (SvTYPE(sv) < SVt_PV)
index ab84977..9f8c7de 100755 (executable)
@@ -506,4 +506,4 @@ else {
   if ($x == 0) { print "" } else { print $x }
 }
 EXPECT
-Use of uninitialized value at - line 4.
+Use of uninitialized value in numeric eq (==) at - line 4.
index 836b7f5..0af8022 100644 (file)
@@ -43,7 +43,7 @@ EXPECT
 $^W = 1 ;
 my $b ; chop $b ;
 EXPECT
-Use of uninitialized value at - line 4.
+Use of uninitialized value in scalar chop at - line 4.
 ########
 
 # warnings enabled at compile time, disabled at run time
@@ -59,7 +59,7 @@ BEGIN { $^W = 0 }
 $^W = 1 ;
 my $b ; chop $b ;
 EXPECT
-Use of uninitialized value at - line 5.
+Use of uninitialized value in scalar chop at - line 5.
 ########
 -w
 --FILE-- abcd
@@ -68,7 +68,7 @@ my $b ; chop $b ;
 --FILE-- 
 require "./abcd";
 EXPECT
-Use of uninitialized value at ./abcd line 1.
+Use of uninitialized value in scalar chop at ./abcd line 1.
 ########
 
 --FILE-- abcd
@@ -78,7 +78,7 @@ my $b ; chop $b ;
 #! perl -w
 require "./abcd";
 EXPECT
-Use of uninitialized value at ./abcd line 1.
+Use of uninitialized value in scalar chop at ./abcd line 1.
 ########
 
 --FILE-- abcd
@@ -88,7 +88,7 @@ my $b ; chop $b ;
 $^W =1 ;
 require "./abcd";
 EXPECT
-Use of uninitialized value at ./abcd line 1.
+Use of uninitialized value in scalar chop at ./abcd line 1.
 ########
 
 --FILE-- abcd
@@ -110,28 +110,28 @@ $^W =0 ;
 require "./abcd";
 my $b ; chop $b ;
 EXPECT
-Use of uninitialized value at - line 3.
+Use of uninitialized value in scalar chop at - line 3.
 ########
 
 $^W = 1;
 eval 'my $b ; chop $b ;' ;
 print $@ ;
 EXPECT
-Use of uninitialized value at (eval 1) line 1.
+Use of uninitialized value in scalar chop at (eval 1) line 1.
 ########
 
 eval '$^W = 1;' ;
 print $@ ;
 my $b ; chop $b ;
 EXPECT
-Use of uninitialized value at - line 4.
+Use of uninitialized value in scalar chop at - line 4.
 ########
 
 eval {$^W = 1;} ;
 print $@ ;
 my $b ; chop $b ;
 EXPECT
-Use of uninitialized value at - line 4.
+Use of uninitialized value in scalar chop at - line 4.
 ########
 
 {
@@ -149,12 +149,12 @@ my $a ; chop $a ;
 }
 my $c ; chop $c ;
 EXPECT
-Use of uninitialized value at - line 5.
+Use of uninitialized value in scalar chop at - line 5.
 ########
 -w
 -e undef
 EXPECT
-Use of uninitialized value at - line 2.
+Use of uninitialized value in -e at - line 2.
 ########
 
 $^W = 1 + 2 ;
@@ -186,4 +186,4 @@ sub fred { my $b ; chop $b ;}
   fred() ;
 }
 EXPECT
-Use of uninitialized value at - line 2.
+Use of uninitialized value in scalar chop at - line 2.
index 4ec4da0..384b3b3 100644 (file)
@@ -42,7 +42,7 @@ use warnings 'uninitialized' ;
 }
 my $b ; chop $b ;
 EXPECT
-Use of uninitialized value at - line 8.
+Use of uninitialized value in scalar chop at - line 8.
 ########
 
 # Check runtime scope of pragma
@@ -53,7 +53,7 @@ no warnings ;
 }
 my $b ; chop $b ;
 EXPECT
-Use of uninitialized value at - line 6.
+Use of uninitialized value in scalar chop at - line 6.
 ########
 
 # Check runtime scope of pragma
@@ -64,7 +64,7 @@ no warnings ;
 }
 &$a ;
 EXPECT
-Use of uninitialized value at - line 6.
+Use of uninitialized value in scalar chop at - line 6.
 ########
 
 use warnings 'deprecated' ;
@@ -103,7 +103,7 @@ require "./abc";
 my $a ; chop $a ;
 EXPECT
 Use of EQ is deprecated at ./abc line 2.
-Use of uninitialized value at - line 3.
+Use of uninitialized value in scalar chop at - line 3.
 ########
 
 --FILE-- abc.pm
@@ -116,7 +116,7 @@ use abc;
 my $a ; chop $a ;
 EXPECT
 Use of EQ is deprecated at abc.pm line 2.
-Use of uninitialized value at - line 3.
+Use of uninitialized value in scalar chop at - line 3.
 ########
 
 # Check scope of pragma with eval
@@ -137,7 +137,7 @@ eval {
 }; print STDERR $@ ;
 my $b ; chop $b ;
 EXPECT
-Use of uninitialized value at - line 6.
+Use of uninitialized value in scalar chop at - line 6.
 ########
 
 # Check scope of pragma with eval
@@ -147,8 +147,8 @@ eval {
 }; print STDERR $@ ;
 my $b ; chop $b ;
 EXPECT
-Use of uninitialized value at - line 5.
-Use of uninitialized value at - line 7.
+Use of uninitialized value in scalar chop at - line 5.
+Use of uninitialized value in scalar chop at - line 7.
 ########
 
 # Check scope of pragma with eval
@@ -159,7 +159,7 @@ eval {
 }; print STDERR $@ ;
 my $b ; chop $b ;
 EXPECT
-Use of uninitialized value at - line 8.
+Use of uninitialized value in scalar chop at - line 8.
 ########
 
 # Check scope of pragma with eval
@@ -223,7 +223,7 @@ eval q[
 ]; print STDERR $@;
 my $b ; chop $b ;
 EXPECT
-Use of uninitialized value at (eval 1) line 3.
+Use of uninitialized value in scalar chop at (eval 1) line 3.
 ########
 
 # Check scope of pragma with eval
@@ -233,8 +233,8 @@ eval '
 '; print STDERR $@ ;
 my $b ; chop $b ;
 EXPECT
-Use of uninitialized value at (eval 1) line 2.
-Use of uninitialized value at - line 7.
+Use of uninitialized value in scalar chop at (eval 1) line 2.
+Use of uninitialized value in scalar chop at - line 7.
 ########
 
 # Check scope of pragma with eval
@@ -245,7 +245,7 @@ eval '
 '; print STDERR $@ ;
 my $b ; chop $b ;
 EXPECT
-Use of uninitialized value at - line 8.
+Use of uninitialized value in scalar chop at - line 8.
 ########
 
 # Check scope of pragma with eval
@@ -303,6 +303,6 @@ no warnings 'deprecated' ;
 1 if $a EQ $b ;
 EXPECT
 Use of EQ is deprecated at - line 6.
-Use of uninitialized value at - line 9.
-Use of uninitialized value at - line 11.
-Use of uninitialized value at - line 11.
+Use of uninitialized value in scalar chop at - line 9.
+Use of uninitialized value in string eq at - line 11.
+Use of uninitialized value in string eq at - line 11.
index 592724a..132b99b 100644 (file)
@@ -13,7 +13,7 @@ sub fred {
 }
 
 EXPECT
-Use of uninitialized value at - line 6.
+Use of uninitialized value in scalar chop at - line 6.
 ########
 
 # Check interaction of $^W and use warnings
@@ -27,7 +27,7 @@ sub fred {
 }
 
 EXPECT
-Use of uninitialized value at - line 6.
+Use of uninitialized value in scalar chop at - line 6.
 ########
 
 # Check interaction of $^W and use warnings
@@ -64,7 +64,7 @@ $^W = 1 ;
 my $b ; 
 chop $b ;
 EXPECT
-Use of uninitialized value at - line 6.
+Use of uninitialized value in scalar chop at - line 6.
 ########
 
 # Check interaction of $^W and use warnings
@@ -73,7 +73,7 @@ use warnings ;
 my $b ; 
 chop $b ;
 EXPECT
-Use of uninitialized value at - line 6.
+Use of uninitialized value in scalar chop at - line 6.
 ########
 
 # Check interaction of $^W and use warnings
@@ -107,7 +107,7 @@ use warnings ;
 my $b ; 
 chop $b ;
 EXPECT
-Use of uninitialized value at - line 5.
+Use of uninitialized value in scalar chop at - line 5.
 ########
 
 # Check interaction of $^W and use warnings
@@ -119,7 +119,7 @@ sub fred {
 BEGIN {  $^W = 0 }
 fred() ;
 EXPECT
-Use of uninitialized value at - line 6.
+Use of uninitialized value in scalar chop at - line 6.
 ########
 
 # Check interaction of $^W and use warnings
@@ -141,7 +141,7 @@ BEGIN {  $^W = 1 }
 my $b ; 
 chop $b ;
 EXPECT
-Use of uninitialized value at - line 6.
+Use of uninitialized value in scalar chop at - line 6.
 ########
 
 # Check interaction of $^W and use warnings
@@ -150,7 +150,7 @@ use warnings ;
 my $b ; 
 chop $b ;
 EXPECT
-Use of uninitialized value at - line 6.
+Use of uninitialized value in scalar chop at - line 6.
 ########
 
 # Check interaction of $^W and use warnings
@@ -181,7 +181,7 @@ BEGIN {  $^W = 1 }
 my $b ;
 chop $b ;
 EXPECT
-Use of uninitialized value at - line 10.
+Use of uninitialized value in scalar chop at - line 10.
 ########
 
 # Check interaction of $^W and use warnings
@@ -194,4 +194,4 @@ BEGIN {  $^W = 0 }
 my $b ;
 chop $b ;
 EXPECT
-Use of uninitialized value at - line 7.
+Use of uninitialized value in scalar chop at - line 7.
index 6a08409..b7c64c3 100644 (file)
@@ -67,7 +67,7 @@ use abc;
 my $a ; chop $a ;
 EXPECT
 Use of EQ is deprecated at abc.pm line 3.
-Use of uninitialized value at - line 3.
+Use of uninitialized value in scalar chop at - line 3.
 ########
 -W
 --FILE-- abc
@@ -81,7 +81,7 @@ require "./abc";
 my $a ; chop $a ;
 EXPECT
 Use of EQ is deprecated at ./abc line 3.
-Use of uninitialized value at - line 3.
+Use of uninitialized value in scalar chop at - line 3.
 ########
 -W
 --FILE-- abc.pm
@@ -95,7 +95,7 @@ use abc;
 my $a ; chop $a ;
 EXPECT
 Use of EQ is deprecated at abc.pm line 3.
-Use of uninitialized value at - line 3.
+Use of uninitialized value in scalar chop at - line 3.
 ########
 -W
 --FILE-- abc
@@ -109,4 +109,4 @@ require "./abc";
 my $a ; chop $a ;
 EXPECT
 Use of EQ is deprecated at ./abc line 3.
-Use of uninitialized value at - line 3.
+Use of uninitialized value in scalar chop at - line 3.
index fe94511..943bb06 100644 (file)
@@ -23,7 +23,7 @@ use warnings FATAL => 'uninitialized' ;
 my $b ; chop $b ;
 print STDERR "The End.\n" ;
 EXPECT
-Use of uninitialized value at - line 8.
+Use of uninitialized value in scalar chop at - line 8.
 ########
 
 # Check runtime scope of pragma
@@ -35,7 +35,7 @@ no warnings ;
 &$a ;
 print STDERR "The End.\n" ;
 EXPECT
-Use of uninitialized value at - line 6.
+Use of uninitialized value in scalar chop at - line 6.
 ########
 
 --FILE-- abc
@@ -69,7 +69,7 @@ my $a ; chop $a ;
 print STDERR "The End.\n" ;
 EXPECT
 Use of EQ is deprecated at ./abc line 2.
-Use of uninitialized value at - line 3.
+Use of uninitialized value in scalar chop at - line 3.
 ########
 
 --FILE-- abc.pm
@@ -83,7 +83,7 @@ my $a ; chop $a ;
 print STDERR "The End.\n" ;
 EXPECT
 Use of EQ is deprecated at abc.pm line 2.
-Use of uninitialized value at - line 3.
+Use of uninitialized value in scalar chop at - line 3.
 ########
 
 # Check scope of pragma with eval
@@ -95,7 +95,7 @@ eval {
 my $b ; chop $b ;
 print STDERR "The End.\n" ;
 EXPECT
--- Use of uninitialized value at - line 6.
+-- Use of uninitialized value in scalar chop at - line 6.
 The End.
 ########
 
@@ -107,8 +107,8 @@ eval {
 my $b ; chop $b ;
 print STDERR "The End.\n" ;
 EXPECT
--- Use of uninitialized value at - line 5.
-Use of uninitialized value at - line 7.
+-- Use of uninitialized value in scalar chop at - line 5.
+Use of uninitialized value in scalar chop at - line 7.
 ########
 
 # Check scope of pragma with eval
@@ -120,7 +120,7 @@ eval {
 my $b ; chop $b ;
 print STDERR "The End.\n" ;
 EXPECT
-Use of uninitialized value at - line 8.
+Use of uninitialized value in scalar chop at - line 8.
 ########
 
 # Check scope of pragma with eval
@@ -178,7 +178,7 @@ eval q[
 my $b ; chop $b ;
 print STDERR "The End.\n" ;
 EXPECT
--- Use of uninitialized value at (eval 1) line 3.
+-- Use of uninitialized value in scalar chop at (eval 1) line 3.
 The End.
 ########
 
@@ -190,8 +190,8 @@ eval '
 my $b ; chop $b ;
 print STDERR "The End.\n" ;
 EXPECT
--- Use of uninitialized value at (eval 1) line 2.
-Use of uninitialized value at - line 7.
+-- Use of uninitialized value in scalar chop at (eval 1) line 2.
+Use of uninitialized value in scalar chop at - line 7.
 ########
 
 # Check scope of pragma with eval
@@ -203,7 +203,7 @@ eval '
 my $b ; chop $b ;
 print STDERR "The End.\n" ;
 EXPECT
-Use of uninitialized value at - line 8.
+Use of uninitialized value in scalar chop at - line 8.
 ########
 
 # Check scope of pragma with eval
index 5101bde..4706aeb 100644 (file)
@@ -123,7 +123,7 @@ print $a ;
 no warnings 'uninitialized' ;
 print $b ;
 EXPECT
-Use of uninitialized value at - line 3.
+Use of uninitialized value in print at - line 3.
 ########
 # doio.c [Perl_my_stat Perl_my_lstat]
 use warnings 'io' ;
index 48b5ec8..ea85912 100644 (file)
@@ -85,7 +85,7 @@ my $b = $$a;
 no warnings 'uninitialized' ;
 my $c = $$a;
 EXPECT
-Use of uninitialized value at - line 4.
+Use of uninitialized value in scalar dereference at - line 4.
 ########
 # pp.c
 use warnings 'unsafe' ;
index 9a4b0a0..379918b 100644 (file)
@@ -95,7 +95,7 @@ my @b = @$a;
 no warnings 'uninitialized' ;
 my @c = @$a;
 EXPECT
-Use of uninitialized value at - line 4.
+Use of uninitialized value in array dereference at - line 4.
 ########
 # pp_hot.c [pp_rv2hv]
 use warnings 'uninitialized' ;
@@ -104,7 +104,7 @@ my %b = %$a;
 no warnings 'uninitialized' ;
 my %c = %$a;
 EXPECT
-Use of uninitialized value at - line 4.
+Use of uninitialized value in hash dereference at - line 4.
 ########
 # pp_hot.c [pp_aassign]
 use warnings 'unsafe' ;
index c02ff01..d9de3b6 100644 (file)
@@ -58,7 +58,7 @@ $x = 1 + $a[0] ; # a
 no warnings 'uninitialized' ;
 $x = 1 + $b[0] ; # a
 EXPECT
-Use of uninitialized value at - line 4.
+Use of uninitialized value in integer addition (+) at - line 4.
 ########
 # sv.c (sv_2iv)
 package fred ;
@@ -73,7 +73,7 @@ $A *= 2 ;
 no warnings 'uninitialized' ;
 $A *= 2 ;
 EXPECT
-Use of uninitialized value at - line 10.
+Use of uninitialized value in integer multiplication (*) at - line 10.
 ########
 # sv.c
 use integer ;
@@ -82,7 +82,7 @@ my $x *= 2 ; #b
 no warnings 'uninitialized' ;
 my $y *= 2 ; #b 
 EXPECT
-Use of uninitialized value at - line 4.
+Use of uninitialized value in integer multiplication (*) at - line 4.
 ########
 # sv.c (sv_2uv)
 package fred ;
@@ -98,7 +98,7 @@ no warnings 'uninitialized' ;
 $B = 0 ;
 $B |= $A ;
 EXPECT
-Use of uninitialized value at - line 10.
+Use of uninitialized value in bitwise or (|) at - line 10.
 ########
 # sv.c
 use warnings 'uninitialized' ;
@@ -108,7 +108,7 @@ no warnings 'uninitialized' ;
 my $Y = 1 ; 
 $x = 1 | $b[$Y] ;
 EXPECT
-Use of uninitialized value at - line 4.
+Use of uninitialized value in bitwise or (|) at - line 4.
 ########
 # sv.c
 use warnings 'uninitialized' ;
@@ -116,7 +116,7 @@ my $x *= 1 ; # d
 no warnings 'uninitialized' ;
 my $y *= 1 ; # d
 EXPECT
-Use of uninitialized value at - line 3.
+Use of uninitialized value in multiplication (*) at - line 3.
 ########
 # sv.c
 use warnings 'uninitialized' ;
@@ -124,7 +124,7 @@ $x = 1 + $a[0] ; # e
 no warnings 'uninitialized' ;
 $x = 1 + $b[0] ; # e
 EXPECT
-Use of uninitialized value at - line 3.
+Use of uninitialized value in addition (+) at - line 3.
 ########
 # sv.c (sv_2nv)
 package fred ;
@@ -138,7 +138,7 @@ $A *= 2 ;
 no warnings 'uninitialized' ;
 $A *= 2 ;
 EXPECT
-Use of uninitialized value at - line 9.
+Use of uninitialized value in multiplication (*) at - line 9.
 ########
 # sv.c
 use warnings 'uninitialized' ;
@@ -146,7 +146,7 @@ $x = $y + 1 ; # f
 no warnings 'uninitialized' ;
 $x = $z + 1 ; # f
 EXPECT
-Use of uninitialized value at - line 3.
+Use of uninitialized value in addition (+) at - line 3.
 ########
 # sv.c
 use warnings 'uninitialized' ;
@@ -162,7 +162,7 @@ $x = chop $y ; # h
 no warnings 'uninitialized' ;
 $x = chop $z ; # h
 EXPECT
-Use of uninitialized value at - line 3.
+Use of uninitialized value in scalar chop at - line 3.
 ########
 # sv.c (sv_2pv)
 package fred ;
@@ -178,7 +178,7 @@ no warnings 'uninitialized' ;
 $C = "" ;
 $C .= $A ;
 EXPECT
-Use of uninitialized value at - line 10.
+Use of uninitialized value in concatenation (.) at - line 10.
 ########
 # sv.c 
 use warnings 'numeric' ;