llvm-project/clang/test/Modules
Richard Smith cf4ab520b5 Avoid adding entries to the DeclContext lookup table multiple times when lazily
constructing a lookup table.

Previously, buildLookup would add lookup table entries for each item lexically
within the DC, and adding the first entry with a given name would trigger the
external source to add all its entries with that name. Then buildLookup would
carry on and re-add those entries all over again.

Instead, follow a simple rule: a declaration from an external source is only
ever made visible by the external source. One exception to this: since we don't
usually build a lookup table for the TU in C, and we never serialize one, we
don't expect the external source to provide lookups in the TU in C, so we build
those ones ourselves.

llvm-svn: 184696
2013-06-24 07:20:36 +00:00
..
Inputs Slightly improve cross-module merging for function templates. 2013-06-24 04:45:28 +00:00
redecls [Modules] Fix an issue where the reconstructed redeclaration chain was incomplete, missing the definition from a module. 2013-04-26 21:33:35 +00:00
self-import-header clang/test/Modules/self-import-header/test.m: Add explicit -target. 2013-05-16 06:59:30 +00:00
auto-module-import.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
autolink.m Suffixing #pragma comment(lib) library names with .lib if necessary. This matches MSVC behavior, as well as allows us to properly link libraries such as the ones provided by the MSDN examples. 2013-05-24 15:06:56 +00:00
build-fail-notes.m Fix broken test 2013-05-20 13:54:38 +00:00
builtins.m <rdar://problem/13560075> Teach name lookup for builtin names to find hidden declarations. 2013-04-03 23:06:26 +00:00
compiler_builtins.m Avoid names like __in that conflict with SAL in builtin headers 2013-04-19 17:00:14 +00:00
compiler_builtins_arm.m Add arm_neon.h to the builtin intrinsics module map. 2013-05-20 14:07:18 +00:00
config_macros.m <rdar://problem/10796651> Introduce configuration macros into module maps. 2013-03-20 00:22:05 +00:00
conflicts.m <rdar://problem/12368093> Extend module maps with a 'conflict' declaration, and warn when a newly-imported module conflicts with an already-imported module. 2013-03-20 21:10:35 +00:00
cstd.m When looking for the module associated with one of our magical builtin headers, speculatively load module maps. 2013-05-02 17:58:30 +00:00
cxx-inline-namespace.cpp Remove an assert which triggers when a decl context in a module hits the 'has 2013-02-12 02:32:35 +00:00
cxx-linkage-cache.cpp Fix a bug reduced from a crash when trying to use modules with libc++. We check 2013-02-12 05:48:23 +00:00
cxx-many-overloads.cpp Fix conflict between r174685 and r174645 (rename -fmodule-cache-path <foo> to -fmodules-cache-path=<foo>). 2013-02-08 01:35:44 +00:00
cxx-templates.cpp Avoid adding entries to the DeclContext lookup table multiple times when lazily 2013-06-24 07:20:36 +00:00
cycles.c When building a module, forward diagnostics to the outer diagnostic consumer. 2013-05-03 22:58:43 +00:00
decldef.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
decldef.mm Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
diag-pragma.c [modules] Make sure enabled diagnostic pragmas inside the module don't affect the translation unit that 2013-03-27 17:17:23 +00:00
diamond-pch.c Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
diamond.c Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
direct-module-import.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
driver.c <rdar://problem/13477190> Give the Clang module cache directory some structure, so it's easier to find. 2013-03-21 21:48:48 +00:00
epic-fail.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
fatal-module-loader-error.m User correct case for 'FileCheck'. 2013-05-24 05:54:31 +00:00
global_index.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
header-import.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
ignored_macros.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
import-decl.cpp Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
incomplete-module.m Add -Wincomplete-module, which detects when a header is included from a module but isn't itself part of a module. 2013-05-20 13:49:41 +00:00
inferred-frameworks.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
inferred-submodules.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
irgen.c Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
linkage-merge.cpp Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
linkage-merge.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
load_failure.c Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
lookup.cpp Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
lookup.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
macros.c Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
method_pool.m When building a module, keep *all* declared methods in the global method pool. 2013-06-21 00:20:25 +00:00
modify-module.m <rdar://problem/13037793> Allow the names of modules to differ from the name of their subdirectory in the include path. 2013-03-21 01:08:50 +00:00
module-private.cpp Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
module_file_info.m <rdar://problem/13509689> Introduce -module-file-info option that provides information about a particular module file. 2013-03-27 16:47:18 +00:00
namespaces.cpp Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
normal-module-map.cpp Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
objc-categories.m improve of note message and minor refactoring of my last 2013-05-15 15:27:35 +00:00
objc_redef.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
on-demand-build.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
on-demand-macros.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
private.cpp Test files for private header patch. 2013-06-20 21:15:51 +00:00
private1.cpp Test files for private header patch. 2013-06-20 21:15:51 +00:00
prune.m Remove local path from test. 2013-03-25 21:52:42 +00:00
redecl-merge.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
redecl-merge2.m [Modules] Cope better with top-level declarations loaded after being declared in the current translation unit <rdar://problem/13189985>. 2013-02-11 18:16:18 +00:00
redecl-namespaces.mm Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
redeclarations.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
renamed.m <rdar://problem/13037793> Allow the names of modules to differ from the name of their subdirectory in the include path. 2013-03-21 01:08:50 +00:00
requires.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
serialized-diags.m Remove forward slashes from check; should unbreak Windows buildbots. 2013-05-06 15:42:15 +00:00
stddef.m <rdar://problem/13479214> Make Clang's <stddef.h> robust against system headers defining size_t/ptrdiff_t/wchar_t. 2013-03-22 00:10:49 +00:00
subframeworks.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
submodules-preprocess.cpp Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
submodules.cpp Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
submodules.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
system_headers.m [Modules] If a module map resides in a system header directory, treat it as a system module. 2013-06-21 16:28:10 +00:00
system_version.m Make sure we have the include paths we need 2013-04-12 00:23:25 +00:00
templates.mm Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
wildcard-submodule-exports.cpp Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00