diff gcc/testsuite/g++.dg/warn/Wshadow-5.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/g++.dg/warn/Wshadow-5.C	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,33 @@
+// Wshadows was giving warnings for nested function parameters in nested class
+// or structure that we didn't want.
+// { dg-do compile }
+// { dg-options "-Wshadow" }
+
+// PR c++/41825
+int f (int n)
+{
+    int bar (int n) { return n++; } // { dg-error "a function-definition is not allowed here" }
+    return bar (n); // { dg-error "12:'bar' was not declared in this scope" }
+}
+
+int g (int i)
+{
+    struct {
+        int bar (int i) { return i++; } // { dg-bogus "shadows" }
+    } s;
+
+    return s.bar (i);
+}
+
+// PR c++/30566
+void h( int x )
+{
+  class InnerClass
+    {
+      public:
+              static int g( int x ) // { dg-bogus "shadows" }
+                {
+                  // empty
+                }
+    };
+}