diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-10-17 15:32:29 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-10-17 15:32:29 +0000 |
commit | aa93a875605536d72a10359a0098396192b7d4ec (patch) | |
tree | e4f0f3e94714c6fe029f52e9e96f7e779ba26b30 /test/Modules | |
parent | 05edf668f0984bfa2994ddc8bb7b78d9fb24cf11 (diff) |
For modules, all macros that aren't include guards are implicitly
public. Add a __private_macro__ directive to hide a macro, similar to
the __module_private__ declaration specifier.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142188 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Modules')
-rw-r--r-- | test/Modules/Inputs/DependsOnModule.framework/Headers/DependsOnModule.h | 2 | ||||
-rw-r--r-- | test/Modules/Inputs/Module.framework/Headers/Module.h | 5 | ||||
-rw-r--r-- | test/Modules/macros.c | 3 | ||||
-rw-r--r-- | test/Modules/on-demand-build.m | 5 |
4 files changed, 14 insertions, 1 deletions
diff --git a/test/Modules/Inputs/DependsOnModule.framework/Headers/DependsOnModule.h b/test/Modules/Inputs/DependsOnModule.framework/Headers/DependsOnModule.h index fa40697745..411e97868c 100644 --- a/test/Modules/Inputs/DependsOnModule.framework/Headers/DependsOnModule.h +++ b/test/Modules/Inputs/DependsOnModule.framework/Headers/DependsOnModule.h @@ -1,3 +1,5 @@ #include <Module/Module.h> #define DEPENDS_ON_MODULE 1 +#__private_macro__ DEPENDS_ON_MODULE + diff --git a/test/Modules/Inputs/Module.framework/Headers/Module.h b/test/Modules/Inputs/Module.framework/Headers/Module.h index 7c7ef6ea10..9bf6a27edf 100644 --- a/test/Modules/Inputs/Module.framework/Headers/Module.h +++ b/test/Modules/Inputs/Module.framework/Headers/Module.h @@ -1,3 +1,5 @@ +#ifndef MODULE_H +#define MODULE_H const char *getModuleVersion(void); #ifdef FOO @@ -10,3 +12,6 @@ const char *getModuleVersion(void); @end #define MODULE_H_MACRO 1 +#__private_macro__ MODULE_H_MACRO + +#endif // MODULE_H diff --git a/test/Modules/macros.c b/test/Modules/macros.c index 899c19bb29..e371237bb0 100644 --- a/test/Modules/macros.c +++ b/test/Modules/macros.c @@ -8,7 +8,8 @@ #define DOUBLE double #__export_macro__ INTEGER -#__export_macro__ DOUBLE +#__private_macro__ FLOAT +#__private_macro__ MODULE int (INTEGER); diff --git a/test/Modules/on-demand-build.m b/test/Modules/on-demand-build.m index 649caa8a7d..2c6a759b43 100644 --- a/test/Modules/on-demand-build.m +++ b/test/Modules/on-demand-build.m @@ -6,6 +6,8 @@ __import_module__ Module; @interface OtherClass @end + + // in module: expected-note{{class method 'alloc' is assumed to return an instance of its receiver type ('Module *')}} void test_getModuleVersion() { const char *version = getModuleVersion(); @@ -14,4 +16,7 @@ void test_getModuleVersion() { OtherClass *other = [Module alloc]; // expected-error{{init}} } +#ifdef MODULE_H +# error MODULE_H should not be hidden +#endif |