summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/minimal-identifier-tables.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2016-02-05 19:03:40 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2016-02-05 19:03:40 +0000
commitd79514e24b4da111b6b08535f975ae8f4d81c26d (patch)
tree67d8d153a83045efb837f0434ae4c0923b9a11af /clang/test/Modules/minimal-identifier-tables.cpp
parent1242ce96952133e1b1f629ec3ce9e3145f0362e1 (diff)
downloadbcm5719-llvm-d79514e24b4da111b6b08535f975ae8f4d81c26d.tar.gz
bcm5719-llvm-d79514e24b4da111b6b08535f975ae8f4d81c26d.zip
[modules] Separately track whether an identifier's preprocessor information and
name lookup information have changed since deserialization. For a C++ modules build, we do not need to re-emit the identifier into the serialized identifier table if only the name lookup information has changed (and in all cases, we don't need to re-emit the macro information if only the name lookup information has changed). llvm-svn: 259901
Diffstat (limited to 'clang/test/Modules/minimal-identifier-tables.cpp')
-rw-r--r--clang/test/Modules/minimal-identifier-tables.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/test/Modules/minimal-identifier-tables.cpp b/clang/test/Modules/minimal-identifier-tables.cpp
new file mode 100644
index 00000000000..0674746e07f
--- /dev/null
+++ b/clang/test/Modules/minimal-identifier-tables.cpp
@@ -0,0 +1,10 @@
+// RUN: rm -rf %t
+// RUN: mkdir %t
+// RUN: echo 'extern int some_long_variable_name;' > %t/x.h
+// RUN: echo 'extern int some_long_variable_name;' > %t/y.h
+// RUN: echo 'module X { header "x.h" } module Y { header "y.h" }' > %t/map
+// RUN: %clang_cc1 -fmodules -x c++ -fmodule-name=X %t/map -emit-module -o %t/x.pcm
+// RUN: %clang_cc1 -fmodules -x c++ -fmodule-name=Y %t/map -fmodule-file=%t/x.pcm -emit-module -o %t/y.pcm
+// RUN: cat %t/y.pcm | FileCheck %s
+//
+// CHECK-NOT: some_long_variable_name
OpenPOWER on IntegriCloud