1 // { dg-do assemble  }
2 // { dg-options "-W -Wall" }
3 //
4 // Copyright (C) 2001 Free Software Foundation, Inc.
5 // Contributed by Nathan Sidwell 26 April 2001 <nathan@codesourcery.com>
6 
7 // Bug 2356. Unused parameter information introduced in a ctor
8 // definition was not propagated to clones, leading to missed or
9 // unwarranted unused parameter warnings, possibly given twice.
10 
11 struct X
12 {
13   X(int i);
14   void foo (int i);
15 
16 };
17 void foo (int i);
18 
X(int)19 X::X(int)
20 {
21 }
foo(int)22 void X::foo (int)
23 {
24 }
foo(int)25 void foo (int)
26 {
27 }
28 
29 struct Y
30 {
31   Y(int);
32   void bar (int);
33 
34 };
35 void bar (int);
36 
Y(int i)37 Y::Y(int i)  // { dg-warning "unused parameter" }
38 {
39 }
bar(int i)40 void Y::bar (int i)  // { dg-warning "unused parameter" }
41 {
42 }
bar(int i)43 void bar (int i) // { dg-warning "unused parameter" }
44 {
45 }
46