1 // expected-warning 0-1 {{umbrella header}}
2 
3 // FIXME: The "umbrella header" warning should be moved to a separate test.
4 // This "0-1" is only here because the warning is only emitted when the
5 // module is (otherwise) successfully included.
6 
7 #ifndef MODULE_H
8 #define MODULE_H
9 const char *getModuleVersion(void);
10 
11 #ifdef FOO
12 #  error Module should have been built without -DFOO
13 #endif
14 
15 @interface Module
16 +(const char *)version; // retrieve module version
17 +alloc;
18 @end
19 
20 #define MODULE_H_MACRO 1
21 #__private_macro MODULE_H_MACRO
22 
23 #include <Module/Sub.h>
24 #include <Module/Buried/Treasure.h>
25 
26 __asm("foo");
27 
28 typedef	struct __sFILE {
29   int _offset;
30 } FILE;
31 
32 extern FILE *myFile;
33 
34 #define SOME_MACRO_ATTR_GETTING_UNDEFINED __attribute__((objc_method_family(none)))
35 #undef SOME_MACRO_ATTR_GETTING_UNDEFINED
36 
37 #endif // MODULE_H
38