hanchenye-llvm-project/clang/test/PCH
Ben Langmuir beee15e721 Allow multiple modules with the same name to coexist in the module cache
To differentiate between two modules with the same name, we will
consider the path the module map file that they are defined by* part of
the ‘key’ for looking up the precompiled module (pcm file).
Specifically, this patch renames the precompiled module (pcm) files from
  cache-path/<module hash>/Foo.pcm
to
  cache-path/<module hash>/Foo-<hash of module map path>.pcm

In addition, I’ve taught the ASTReader to re-resolve the names of
imported modules during module loading so that if the header search
context changes between when a module was originally built and when it
is loaded we can rebuild it if necessary.  For example, if module A
imports module B

first time:
clang -I /path/to/A -I /path/to/B ...

second time:
clang -I /path/to/A -I /different/path/to/B ...

will now rebuild A as expected.

* in the case of inferred modules, we use the module map file that
allowed the inference, not the __inferred_module.map file, since the
inferred file path is the same for every inferred module.

llvm-svn: 206201
2014-04-14 18:00:01 +00:00
..
Inputs Objective-C: Implements gcc's -Wselector option 2013-05-30 21:48:58 +00:00
libroot/usr/include
__va_list_tag.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
arc.m Fix FileCheck --check-prefix lines. 2013-08-12 12:51:05 +00:00
asm.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
asm.h
attrs-PR8406.c
attrs.c Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
badpch.c Avoid crashing if a directory has no pch files. 2013-07-28 13:23:37 +00:00
blocks.c
blocks.h
builtins.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
builtins.h
captured-stmt.cpp Serialization for captured statements 2013-05-03 19:20:19 +00:00
case-insensitive-include.c [PCH] Remove the stat cache from the PCH file. 2012-10-31 20:59:50 +00:00
chain-categories.m Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
chain-categories2.m improve of note message and minor refactoring of my last 2013-05-15 15:27:35 +00:00
chain-class-extension.m Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
chain-conversion-lookup.cpp
chain-cxx.cpp Fix bitcode desynchronization when loading a PCH containing a class template 2013-05-23 01:49:11 +00:00
chain-decls.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
chain-empty-initial-namespace.cpp
chain-ext_vector.c
chain-external-defs.c
chain-friend-instantiation.cpp Fix bitcode desynchronization when loading a PCH containing a class template 2013-05-23 01:49:11 +00:00
chain-implicit-definition.cpp
chain-late-anonymous-namespace.cpp Fix 41 of the 61 tests which fail with modules enabled: we were computing and 2013-04-04 01:51:11 +00:00
chain-macro-override.c Rework the (de-)serialization of macros, as stored in 2012-10-09 23:05:51 +00:00
chain-macro.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
chain-pending-instantiations.cpp Switch to the new MingW ABI. 2013-12-12 16:07:11 +00:00
chain-predecl.h
chain-predecl.m
chain-remap-types.m Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
chain-selectors.m ObjectiveC. Improve on diagnostics per Jordan's feedback. 2014-01-15 00:59:25 +00:00
chain-staticvar-instantiation.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
chain-trivial.c Explicitly build __builtin_va_list. 2012-06-16 03:34:49 +00:00
changed-files.c
check-deserializations.cpp Don't eagerly load all conversion operators when loading a class declaration 2013-08-30 04:46:40 +00:00
cmdline-include.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
cmdline-include1.h
cmdline-include2.h
cocoa.m [PCH] Include a darwin-only PCH test on Cocoa.h. 2012-02-28 23:39:20 +00:00
crash-12631281.cpp Copy the decls returned by DeclContext::lookup_result to a 2012-11-13 05:07:23 +00:00
cuda-kernel-call.cu
cxx-alias-decl.cpp Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +00:00
cxx-alias-decl.h
cxx-chain-function-template.cpp
cxx-constexpr.cpp Fix 41 of the 61 tests which fail with modules enabled: we were computing and 2013-04-04 01:51:11 +00:00
cxx-exprs.cpp Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
cxx-for-range.cpp Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +00:00
cxx-for-range.h DR1442: In a range-based for statement, namespace 'std' is not an associated 2012-10-18 17:56:02 +00:00
cxx-friends.cpp Lazily deserialize the "first' friend declaration when deserializing a class 2013-06-26 02:41:25 +00:00
cxx-friends.h Lazily deserialize the "first' friend declaration when deserializing a class 2013-06-26 02:41:25 +00:00
cxx-functions.cpp Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
cxx-functions.h Eliminate obvious use-after-free. Fixes PR12433 / <rdar://problem/11168333>. 2012-04-04 00:34:49 +00:00
cxx-implicit-moves.cpp Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
cxx-mangling.cpp Serialize and deserialize mangling numbers. 2014-03-21 01:48:23 +00:00
cxx-member-init.cpp [PCH] Fix crash with valid code, related to anonymous field initializers. 2013-05-30 23:59:46 +00:00
cxx-method.cpp Store on the CXXRecordDecl whether the class has, or would have, a copy 2012-11-28 06:23:12 +00:00
cxx-ms-function-specialization-class-scope.cpp Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
cxx-ms-function-specialization-class-scope.h
cxx-namespaces.cpp When setting the external visible declarations for a decl context, check 2013-06-24 01:46:41 +00:00
cxx-namespaces.h When setting the external visible declarations for a decl context, check 2013-06-24 01:46:41 +00:00
cxx-offsetof-base.cpp
cxx-offsetof-base.h
cxx-reference.cpp Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
cxx-reference.h
cxx-required-decls.cpp Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
cxx-required-decls.h
cxx-static_assert.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
cxx-templates.cpp Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
cxx-templates.h PCH: fix a crash caused by a circular deserialization dependency 2013-12-19 02:05:20 +00:00
cxx-trailing-return.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
cxx-traits.cpp Emit an extension warning when changing system header tokens 2013-12-03 06:13:01 +00:00
cxx-traits.h Make the -Wkeyword-compat diag message more accurate 2013-12-09 12:41:02 +00:00
cxx-typeid.cpp Default to use libc++ on OS X 10.9+ and iOS 7+. 2013-11-02 23:19:53 +00:00
cxx-typeid.h [PCH/test] Make test/PCH/cxx-typeid.cpp self-contained by including the relevant standard library declarations 2013-04-15 16:52:57 +00:00
cxx-using.cpp Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
cxx-using.h
cxx-variadic-templates.cpp Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
cxx-variadic-templates.h PR9023: A template template parameter whose template parameter list contains an 2012-09-07 02:06:42 +00:00
cxx0x-default-delete.cpp Finish implementing 'selected constructor' rules for triviality in C++11. In 2012-12-08 08:32:28 +00:00
cxx0x-delegating-ctors.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
cxx1y-decltype-auto.cpp Implement C++1y decltype(auto). 2013-04-26 16:15:35 +00:00
cxx1y-deduced-return-type.cpp C++1y deduced return types: when we deduce a return type for a function which 2013-05-11 05:45:24 +00:00
cxx1y-default-initializer.cpp Add another test I forgot to svn add. 2013-04-20 22:23:29 +00:00
cxx1y-init-captures.cpp Per latest drafting, switch to implementing init-captures as if by declaring 2013-09-28 04:02:39 +00:00
cxx1y-lambdas.mm Refactor out the circular reference to LambdaExpr in CXXRecordDecl. 2013-10-23 16:10:50 +00:00
cxx1y-variable-templates.cpp Implement restriction that a partial specialization must actually specialize 2013-09-24 04:49:23 +00:00
cxx11-constexpr.cpp Serialize the 'IsConstexpr' bit of VarDecls. Fixes <rdar://problem/12328814>. 2012-09-20 23:43:29 +00:00
cxx11-enum-template.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
cxx11-exception-spec.cpp When the exception specification for a function in an imported PCH or module is 2014-03-20 21:47:22 +00:00
cxx11-inheriting-ctors.cpp Fix PR18307: Properly (de)serialize inherited constructors and their using declarations 2014-03-27 19:22:19 +00:00
cxx11-lambdas.mm Add compat/extension warnings for init captures. 2013-09-28 05:38:27 +00:00
cxx11-statement-attributes.cpp Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
cxx11-user-defined-literals.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
cxx_exprs.cpp Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
cxx_exprs.h Fix abbreviation for CharacterLiteral in AST serialization. PR13806. 2012-09-14 00:51:36 +00:00
debug-info-limited-struct.c Test case for r18266 (serialization support for TagDecl:IsCompleteDefinitionRequired) 2013-07-15 21:33:26 +00:00
debug-info-limited-struct.h Test case for r18266 (serialization support for TagDecl:IsCompleteDefinitionRequired) 2013-07-15 21:33:26 +00:00
designated-init.c [PCH] When serializing Stmts, keep track of when sub statements are referenced again and 2011-10-21 23:02:28 +00:00
designated-init.c.h [PCH] When serializing Stmts, keep track of when sub statements are referenced again and 2011-10-21 23:02:28 +00:00
different-diagnostic-level.c Revert r194097: "With this patch -Wwrite-strings is still implemented with the terrible 2014-02-07 08:33:28 +00:00
empty-with-headers.c Our style for diagnostic messages is to not include a trailing dot. 2012-11-05 05:32:00 +00:00
enum.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
enum.h
exprs.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
exprs.h Add the intrinsic __builtin_convertvector 2013-09-18 03:29:45 +00:00
ext_vector.c
ext_vector.h
external-defs.c Replace 'grep foo | count 0' with 'not grep foo'. 2013-07-04 15:22:16 +00:00
external-defs.h
field-designator.c Remove duplicated -cc1 in tests 2013-12-08 18:06:52 +00:00
floating-literal.c Adjust clang for change to APFloat::toString. 2013-08-29 23:44:43 +00:00
format-strings.c The Lexer constructor expects a source location at the start of the 2012-05-11 21:39:18 +00:00
friend-template.cpp [PCH] Write out the ClassTemplateDecl::Common::InjectedClassNameType type 2012-11-06 00:35:02 +00:00
functions.c Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
functions.h
fuzzy-pch.c Teach the PCH validator to check the preprocessor options, especially 2012-10-24 23:41:50 +00:00
fuzzy-pch.h
headermap.h
headermap.m
headersearch.cpp [PCH] Change test/PCH/headersearch.cpp to use -emit-llvm-only instead of -emit-obj 2013-04-11 17:37:48 +00:00
irgen-rdar13114142.mm Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
line-directive.c Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
line-directive.h
local_static.cpp Fix PCH deserialization bug with local static symbols being treated as local extern. 2014-02-11 06:29:29 +00:00
local_static.h Fix PCH deserialization bug with local static symbols being treated as local extern. 2014-02-11 06:29:29 +00:00
macro-redef.c [PCH] Temporarily disable the "ambiguous macro" warning that is currently bogus with a PCH 2013-01-23 18:21:56 +00:00
macro-undef.cpp If a module A exports a macro M, and a module B imports that macro and #undef's 2014-03-01 00:08:04 +00:00
method-redecls.m [PCH] Fix the test. 2011-11-12 21:07:54 +00:00
method_pool.h
method_pool.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
missing-file.cpp Looks like lit on Windows can't cope with parens here, and in any case, we shouldn't need them after r169441. 2012-12-05 22:59:28 +00:00
modified-header-crash.c clang/test: Suppress two tests on win32 for now, since, not sure, in r169829 to r169831. 2012-12-12 00:51:38 +00:00
modified-header-crash.h
modified-header-error.c Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
modified-module-dependency.m Allow multiple modules with the same name to coexist in the module cache 2014-04-14 18:00:01 +00:00
modified-module-dependency.module.map Improve the error message when a PCH dependency is modified 2014-01-17 00:19:09 +00:00
ms-if-exists.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
multiple-include-pch.c [frontend] Don't put a PCH/PTH filename into the set of includes in the preprocessor options; 2013-02-05 16:36:52 +00:00
multiple_decls.c
multiple_decls.h
namespaces.cpp
nonvisible-external-defs.c Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
nonvisible-external-defs.h
objc_container.h Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, 2012-03-06 20:05:56 +00:00
objc_container.m Fix broken CHECK lines 2014-02-16 07:29:41 +00:00
objc_exprs.h [PCH] When serializing an PseudoObjectExpr or AtomicExpr, the serialization code must be set 2011-11-15 06:20:27 +00:00
objc_exprs.m objective-c++: Type of an objc string literal is NSString, not 'id'. 2012-02-23 22:51:36 +00:00
objc_import.h When declaring an ObjC interface decl with a @compatibility_alias alias name, change the class name to the "real" one. 2013-06-18 21:26:33 +00:00
objc_import.m When declaring an ObjC interface decl with a @compatibility_alias alias name, change the class name to the "real" one. 2013-06-18 21:26:33 +00:00
objc_literals.m Adjust clang for change to APFloat::toString. 2013-08-29 23:44:43 +00:00
objc_literals.mm Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
objc_methods.h [PCH] Really, pinky swear, fix for PR12689 2012-05-04 01:49:36 +00:00
objc_methods.m Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
objc_property.h
objc_property.m Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
objc_stmts.h
objc_stmts.m Implement AST dumper for Decls. 2012-12-20 02:09:13 +00:00
objcxx-ivar-class.h
objcxx-ivar-class.mm Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
ocl_types.cl Add OpenCL samplers as Clang builtin types and check sampler related restrictions. 2013-02-07 10:55:47 +00:00
ocl_types.h Add OpenCL samplers as Clang builtin types and check sampler related restrictions. 2013-02-07 10:55:47 +00:00
opencl-extensions.cl
pch-dir.c Fix FileCheck --check-prefix lines. 2013-08-12 12:51:05 +00:00
pch-dir.h If the precompiled header named by "-include" is actually a directory, 2012-10-23 06:18:24 +00:00
pch__VA_ARGS__.c Patch for handling C99 veriadic macros when using precompiled headers, 2012-06-29 18:27:59 +00:00
pch__VA_ARGS__.h Patch for handling C99 veriadic macros when using precompiled headers, 2012-06-29 18:27:59 +00:00
pchpch.c
pchpch1.h
pchpch2.h
pending-ids.m Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
pr4489.c
pr18806.cpp Fix PR18806: Canonicalize the replacement type when deserializing a SubstTemplateTypeParmType 2014-03-15 10:23:27 +00:00
pragma-diag-section.cpp Change the other -Wtautological-compare warnings to not trigger in template 2013-11-02 02:11:23 +00:00
pragma-diag.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
pragma-weak.c Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
pragma-weak.h
preamble.c Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
preprocess.c
preprocess.h
pth.c Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
pth.h
rdar8852495.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
rdar10830559.cpp Adds Microsoft compatiable C++ record layout code to clang. 2013-10-11 20:19:00 +00:00
reinclude.cpp Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
reinclude1.h
reinclude2.h
reloc.c Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
remap-file-from-pch.cpp Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
remap-file-from-pch.cpp.h [PCH] When validating that the files coming from PCH did not change, also 2012-05-03 21:50:39 +00:00
remap-file-from-pch.cpp.remap.h [PCH] When validating that the files coming from PCH did not change, also 2012-05-03 21:50:39 +00:00
replaced-decl.m Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
selector-warning.h
selector-warning.m
single-token-macro.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
source-manager-stack.c
stmts.c
stmts.h
struct.c
struct.h
subscripting-literals.m Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, 2012-03-06 20:05:56 +00:00
target-options.c Serialize TargetOptions into an AST file, and make sure that we keep 2012-10-16 23:40:58 +00:00
target-options.h Serialize TargetOptions into an AST file, and make sure that we keep 2012-10-16 23:40:58 +00:00
tentative-defs.c Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
tentative-defs.h
thread-local.cpp Add triples to these tests since they're now using TLS, which isn't available on all targets. 2013-04-15 08:00:15 +00:00
thread-safety-attrs.cpp Updating the capability attribute diagnostics to be more capability-neutral. Instead of using terminology such as "lock", "unlock" and "locked", the new terminology is "acquire", "release" and "held". Additionally, the capability attribute's name argument is now reported as part of the diagnostic, instead of hard coding as "mutex." 2014-04-01 21:43:23 +00:00
types.c
types.h
typo.cpp Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
typo.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
typo2.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
undefined-internal.c Preserve Sema::UndefinedInternals across PCH boundaries. Fixes 2013-01-26 00:35:08 +00:00
va_arg.c
va_arg.cpp
va_arg.h
variables.c Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
variables.h
verify_pch.m Fix test from r200979 on Windows 2014-02-07 19:39:50 +00:00
working-directory.cpp
working-directory.h