summaryrefslogtreecommitdiff
path: root/t/lib
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>2005-07-19 14:12:38 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2005-07-19 14:12:38 +0000
commit7f73a9f140198d1b3d1c2f2b62d4fd14dc5667c3 (patch)
treeb2b93ed533f5fe20f74d67c1e63e28e1675cbbe4 /t/lib
parent4e3bc6ae6a0630a65b9a3f0043bebeeaa828d763 (diff)
downloadperl-7f73a9f140198d1b3d1c2f2b62d4fd14dc5667c3.tar.gz
Extend the the "our variable redeclared" warning to the case:
our $x; our $x; and add more tests p4raw-id: //depot/perl@25187
Diffstat (limited to 't/lib')
-rw-r--r--t/lib/strict/vars6
-rw-r--r--t/lib/warnings/pad62
2 files changed, 55 insertions, 13 deletions
diff --git a/t/lib/strict/vars b/t/lib/strict/vars
index 06d9e0059e..16deab9837 100644
--- a/t/lib/strict/vars
+++ b/t/lib/strict/vars
@@ -372,14 +372,14 @@ EXPECT
20
########
-# multiple our declarations in same scope, same package, no warning
+# multiple our declarations in same scope, same package, warning
use strict 'vars';
use warnings;
our $foo;
${foo} = 10;
our $foo;
EXPECT
-
+"our" variable $foo redeclared at - line 7.
########
# multiple our declarations in same scope, same package, warning
@@ -390,12 +390,14 @@ use warnings;
our $foo;
{
our $foo;
+ our $foo;
package Foo;
our $foo;
}
EXPECT
"our" variable $foo redeclared at - line 9.
(Did you mean "local" instead of "our"?)
+"our" variable $foo redeclared at - line 10.
########
--FILE-- abc
diff --git a/t/lib/warnings/pad b/t/lib/warnings/pad
index f25452f81a..bf5c367fc9 100644
--- a/t/lib/warnings/pad
+++ b/t/lib/warnings/pad
@@ -1,6 +1,6 @@
pad.c AOK
- "my" variable %s masks earlier declaration in same scope
+ "%s" variable %s masks earlier declaration in same scope
my $x;
my $x ;
@@ -49,16 +49,6 @@ EXPECT
# pad.c
use warnings 'misc' ;
our $x ;
-our $x ;
-our $y = our $y ;
-our $p ;
-package X ;
-our $p ;
-EXPECT
-########
-# pad.c
-use warnings 'misc' ;
-our $x ;
my $x ;
our $y = my $y ;
our $p ;
@@ -244,20 +234,53 @@ my $x;
}
EXPECT
########
+# pad.c
+use warnings 'misc' ;
+our $x ;
+our $x ;
+our $y = our $y ;
+our $p ;
+package X ;
+our $p ;
+package main ;
+no warnings 'misc' ;
+our $a ;
+our $a ;
+our $b = our $b ;
+our $c ;
+package X ;
+our $c ;
+EXPECT
+"our" variable $x redeclared at - line 4.
+"our" variable $y redeclared at - line 5.
+########
use warnings 'misc' ;
our $x;
{
our $x;
}
+our $x;
+no warnings 'misc' ;
+our $y;
+{
+ our $y;
+}
+our $y;
EXPECT
"our" variable $x redeclared at - line 4.
(Did you mean "local" instead of "our"?)
+"our" variable $x redeclared at - line 6.
########
use warnings 'misc' ;
our $x;
{
my $x;
}
+no warnings 'misc' ;
+our $y;
+{
+ my $y;
+}
EXPECT
########
use warnings 'misc' ;
@@ -265,6 +288,23 @@ my $x;
{
our $x;
}
+no warnings 'misc' ;
+my $y;
+{
+ our $y;
+}
+EXPECT
+########
+use warnings 'misc' ;
+my $x;
+{
+ my $x;
+}
+no warnings 'misc' ;
+my $y;
+{
+ my $y;
+}
EXPECT
########
# an our var being introduced should suppress errors about global syms