1 /* { dg-do assemble } */
2 
3 class A {};
4 class B {};
5 
func(int n)6 static void *func (int n)
7 {
8   void *p;
9   if (p == 0) throw ::A ();
10 }	// { dg-warning "control reaches end of non-void function" }
11 
func(int n,B const &)12 static void *func (int n, B const &)
13 {
14   try {
15       return func (n);
16   }
17   catch (::A const &) {
18   }
19   return func (n);
20 }
21 
f1(int n)22 void *f1 (int n)
23 {
24   return func (n, B());
25 }
26 
f2(int n)27 void *f2 (int n)
28 {
29   return func (n, B());
30 }
31