summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/merge-using-decls.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2015-09-01 20:35:42 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2015-09-01 20:35:42 +0000
commitd88a7f1a9281fd1d2675a8860cc1971dd5c9b93d (patch)
tree83eb71fa9194cc31a24e531066b0645496d9d47a /clang/test/Modules/merge-using-decls.cpp
parent7f37775e56e24770edb30205c9cddae23a7754b4 (diff)
downloadbcm5719-llvm-d88a7f1a9281fd1d2675a8860cc1971dd5c9b93d.tar.gz
bcm5719-llvm-d88a7f1a9281fd1d2675a8860cc1971dd5c9b93d.zip
Re-commit r246497 (and dependent changes r246524 and r246521), reverted in
r246546, with a workaround for an MSVC 2013 miscompile and an MSVC 2015 rejects-valid. Original commit message: [modules] Rework serialized DeclContext lookup table management. Instead of walking the loaded ModuleFiles looking for lookup tables for the context, store them all in one place, and merge them together if we find we have too many (currently, more than 4). If we do merge, include the merged form in our serialized lookup table, so that downstream readers never need to look at our imports' tables. This gives a huge performance improvement to builds with very large numbers of modules (in some cases, more than a 2x speedup was observed). llvm-svn: 246582
Diffstat (limited to 'clang/test/Modules/merge-using-decls.cpp')
-rw-r--r--clang/test/Modules/merge-using-decls.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/test/Modules/merge-using-decls.cpp b/clang/test/Modules/merge-using-decls.cpp
index 789f75b5740..98989d12f98 100644
--- a/clang/test/Modules/merge-using-decls.cpp
+++ b/clang/test/Modules/merge-using-decls.cpp
@@ -31,6 +31,8 @@ template int UseAll<YA>();
template int UseAll<YB>();
template int UseAll<Y>();
+// Which of these two sets of diagnostics is chosen is not important. It's OK
+// if this varies with ORDER, but it must be consistent across runs.
#if ORDER == 1
// Here, we're instantiating the definition from 'A' and merging the definition
// from 'B' into it.
OpenPOWER on IntegriCloud