aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2018-05-02 18:15:56 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2018-05-02 18:15:56 +0000
commit006fbbe9526698a7828023b6710acc478b845e18 (patch)
treed3e68caa1c7827bfd632233231decc845612dd17 /gcc/testsuite/g++.dg
parentec00d3faf4e3d20906e8e6038299343f960dc49e (diff)
downloadgcc-006fbbe9526698a7828023b6710acc478b845e18.zip
gcc-006fbbe9526698a7828023b6710acc478b845e18.tar.gz
gcc-006fbbe9526698a7828023b6710acc478b845e18.tar.bz2
re PR c++/68374 (G++ -Wshadow doesn't warn about static member shadowing)
/cp 2018-05-02 Paolo Carlini <paolo.carlini@oracle.com> Jason Merrill <jason@redhat.com> PR c++/68374 * name-lookup.c (check_local_shadow): Don't handle static old declarations in the block handling locals shadowing locals. /testsuite 2018-05-02 Paolo Carlini <paolo.carlini@oracle.com> Jason Merrill <jason@redhat.com> PR c++/68374 * g++.dg/warn/Wshadow-13.C: New. * g++.dg/warn/Wshadow-14.C: Likewise. Co-Authored-By: Jason Merrill <jason@redhat.com> From-SVN: r259853
Diffstat (limited to 'gcc/testsuite/g++.dg')
-rw-r--r--gcc/testsuite/g++.dg/warn/Wshadow-13.C8
-rw-r--r--gcc/testsuite/g++.dg/warn/Wshadow-14.C10
2 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/warn/Wshadow-13.C b/gcc/testsuite/g++.dg/warn/Wshadow-13.C
new file mode 100644
index 0000000..d75560c
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/Wshadow-13.C
@@ -0,0 +1,8 @@
+// PR c++/68374
+// { dg-options "-Wshadow" }
+
+class f {
+ static int mVar; // { dg-message "shadowed declaration" }
+ int g(int x) { int mVar=3; return x+mVar; } // { dg-warning "shadows a member of 'f'" }
+};
+int f::mVar = 1;
diff --git a/gcc/testsuite/g++.dg/warn/Wshadow-14.C b/gcc/testsuite/g++.dg/warn/Wshadow-14.C
new file mode 100644
index 0000000..e0e3d02
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/Wshadow-14.C
@@ -0,0 +1,10 @@
+// PR c++/68374
+// { dg-options "-Wshadow" }
+
+void foo ()
+{
+ static int i; // { dg-message "shadowed declaration" }
+ {
+ int i; // { dg-warning "shadows a previous local" }
+ }
+}