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