diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-02-05 19:03:40 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-02-05 19:03:40 +0000 |
commit | d79514e24b4da111b6b08535f975ae8f4d81c26d (patch) | |
tree | 67d8d153a83045efb837f0434ae4c0923b9a11af /clang/test/Modules/minimal-identifier-tables.cpp | |
parent | 1242ce96952133e1b1f629ec3ce9e3145f0362e1 (diff) | |
download | bcm5719-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.cpp | 10 |
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 |