1/* Test for spurious "may or may not return a value" warnings. */ 2/* { dg-do compile } */ 3/* { dg-options "-Wreturn-type -Wextra" } */ 4 5#include "../objc-obj-c++-shared/TestsuiteObject.h" 6 7@interface Foo: TestsuiteObject 8- (id) meth1; 9- (void) meth2; 10@end 11 12extern int bar; 13 14@implementation Foo 15- (id) meth1 { 16 if (bar) 17 return [TestsuiteObject new]; 18 return; /* { dg-error "return.statement with no value" } */ 19} 20- (void) meth2 { 21 if (!bar) 22 return; 23 bar = 0; 24} 25@end 26