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 | |