summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeCompletion
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2015-06-24 19:27:02 +0000
committerJordan Rose <jordan_rose@apple.com>2015-06-24 19:27:02 +0000
commita46bfa6b83a9f22466227a9db7f055263fe308a2 (patch)
tree7cb03d74d1e9ff9764e72bf475a3cda27309ee09 /clang/test/CodeCompletion
parent3ebea27d6663e63bf1421f1ce36f82cc475dd481 (diff)
downloadbcm5719-llvm-a46bfa6b83a9f22466227a9db7f055263fe308a2.tar.gz
bcm5719-llvm-a46bfa6b83a9f22466227a9db7f055263fe308a2.zip
[Preprocessor] Iterating over all macros should include those from modules.
So, iterate over the list of macros mentioned in modules, and make sure those are in the master table. This isn't particularly efficient, but hopefully it's something that isn't done too often. PR23929 and rdar://problem/21480635 llvm-svn: 240571
Diffstat (limited to 'clang/test/CodeCompletion')
-rw-r--r--clang/test/CodeCompletion/macros-in-modules.c11
-rw-r--r--clang/test/CodeCompletion/macros-in-modules.m10
2 files changed, 21 insertions, 0 deletions
diff --git a/clang/test/CodeCompletion/macros-in-modules.c b/clang/test/CodeCompletion/macros-in-modules.c
new file mode 100644
index 00000000000..82ffaae7cb1
--- /dev/null
+++ b/clang/test/CodeCompletion/macros-in-modules.c
@@ -0,0 +1,11 @@
+// RUN: rm -rf %t && mkdir %t
+// RUN: echo 'module Foo { header "foo.h" }' > %t/module.modulemap
+// RUN: echo '#define FOO_MACRO 42' > %t/foo.h
+// RUN: c-index-test -code-completion-at=%s:9:1 -I %t %s | FileCheck %s
+// RUN: c-index-test -code-completion-at=%s:9:1 -I %t -fmodules %s | FileCheck %s
+
+#include "foo.h"
+int x =
+/*here*/1;
+
+// CHECK: FOO_MACRO
diff --git a/clang/test/CodeCompletion/macros-in-modules.m b/clang/test/CodeCompletion/macros-in-modules.m
new file mode 100644
index 00000000000..8d6b3753d04
--- /dev/null
+++ b/clang/test/CodeCompletion/macros-in-modules.m
@@ -0,0 +1,10 @@
+// RUN: rm -rf %t && mkdir %t
+// RUN: echo 'module Foo { header "foo.h" }' > %t/module.modulemap
+// RUN: echo '#define FOO_MACRO 42' > %t/foo.h
+// RUN: c-index-test -code-completion-at=%s:8:1 -I %t -fmodules %s | FileCheck %s
+
+@import Foo;
+int x =
+/*here*/1;
+
+// CHECK: FOO_MACRO
OpenPOWER on IntegriCloud