aboutsummaryrefslogtreecommitdiff
path: root/test/Modules/macros.c
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2012-09-25 15:44:52 +0000
committerDouglas Gregor <dgregor@apple.com>2012-09-25 15:44:52 +0000
commitb09de5177ee8101818a59dcd0038c75b190a2509 (patch)
tree5076842d1c2373dc9e4717bebb3b7a879da4b9d9 /test/Modules/macros.c
parent9158a5624154bc43bbbf059c07a2f7b2cd45c1a1 (diff)
Introduce builtin macros to determine whether we're building a
specific module (__building_module(modulename)) and to get the name of the current module as an identifier (__MODULE__). Used to help headers behave differently when they're being included as part of building a module. Oh, the irony. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164605 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Modules/macros.c')
-rw-r--r--test/Modules/macros.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/Modules/macros.c b/test/Modules/macros.c
index 83e1c66a10..d93ce35a03 100644
--- a/test/Modules/macros.c
+++ b/test/Modules/macros.c
@@ -27,4 +27,13 @@ DOUBLE *dp = &d;
void f() {
// CHECK-PREPROCESSED: int i = INTEGER;
int i = INTEGER; // the value was exported, the macro was not.
+ i += macros; // expanded from __MODULE__ within the 'macros' module.
}
+
+#ifdef __MODULE__
+# error Not building a module!
+#endif
+
+#if __building_module(macros)
+# error Not building a module
+#endif