1// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
2// expected-no-diagnostics
3
4@interface Foo
5@end
6@implementation Foo
7@end
8
9@implementation Foo(Whatever)
10+(float)returnsFloat { return 7.0; }
11@end
12
13@interface Foo (MoreStuff)
14+(int)returnsInt;
15@end
16
17@implementation Foo (MoreStuff)
18+(int)returnsInt {
19  return 0;
20}
21
22+(void)returnsNothing {
23}
24-(int)callsReturnsInt {
25  float f = [Foo returnsFloat]; // GCC doesn't find this method (which is a bug IMHO).
26  [Foo returnsNothing];
27  return [Foo returnsInt];
28}
29@end
30
31int main() {return 0;}
32
33