diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2018-05-02 18:15:56 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2018-05-02 18:15:56 +0000 |
commit | 006fbbe9526698a7828023b6710acc478b845e18 (patch) | |
tree | d3e68caa1c7827bfd632233231decc845612dd17 /gcc/testsuite/g++.dg | |
parent | ec00d3faf4e3d20906e8e6038299343f960dc49e (diff) | |
download | gcc-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.C | 8 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/warn/Wshadow-14.C | 10 |
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" } + } +} |