summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-10-17 15:32:29 +0000
committerDouglas Gregor <dgregor@apple.com>2011-10-17 15:32:29 +0000
commitebf004990163b7588d2140a2c44be3ae991b4e29 (patch)
treebf639690104decc6e9a594ce4773a895f2310e46 /clang/test/Modules
parent71129d5e9e3a290df21ef8f3389c1b54b10f62cd (diff)
downloadbcm5719-llvm-ebf004990163b7588d2140a2c44be3ae991b4e29.tar.gz
bcm5719-llvm-ebf004990163b7588d2140a2c44be3ae991b4e29.zip
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. llvm-svn: 142188
Diffstat (limited to 'clang/test/Modules')
-rw-r--r--clang/test/Modules/Inputs/DependsOnModule.framework/Headers/DependsOnModule.h2
-rw-r--r--clang/test/Modules/Inputs/Module.framework/Headers/Module.h5
-rw-r--r--clang/test/Modules/macros.c3
-rw-r--r--clang/test/Modules/on-demand-build.m5
4 files changed, 14 insertions, 1 deletions
diff --git a/clang/test/Modules/Inputs/DependsOnModule.framework/Headers/DependsOnModule.h b/clang/test/Modules/Inputs/DependsOnModule.framework/Headers/DependsOnModule.h
index fa406977456..411e97868c5 100644
--- a/clang/test/Modules/Inputs/DependsOnModule.framework/Headers/DependsOnModule.h
+++ b/clang/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/clang/test/Modules/Inputs/Module.framework/Headers/Module.h b/clang/test/Modules/Inputs/Module.framework/Headers/Module.h
index 7c7ef6ea10e..9bf6a27edf6 100644
--- a/clang/test/Modules/Inputs/Module.framework/Headers/Module.h
+++ b/clang/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/clang/test/Modules/macros.c b/clang/test/Modules/macros.c
index 899c19bb29c..e371237bb01 100644
--- a/clang/test/Modules/macros.c
+++ b/clang/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/clang/test/Modules/on-demand-build.m b/clang/test/Modules/on-demand-build.m
index 649caa8a7d8..2c6a759b437 100644
--- a/clang/test/Modules/on-demand-build.m
+++ b/clang/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
OpenPOWER on IntegriCloud