llvm-project/clang/test/Modules
Ben Langmuir ca39214f4e Fix use-after-free and spurious error during module load
FileManager::invalidateCache is not safe to call when there may be
existing references to the file. What module load failure needs is
to refresh so stale stat() info isn't stored.

This may be the last user of invalidateCache; I'll take a look and
remove it if possible in a future commit.

This caused a use-after-free error as well as a spurious error message
that a module was "found in both 'X.pcm' and 'X.pcm'" in some cases.

llvm-svn: 209138
2014-05-19 16:13:45 +00:00
..
Inputs Add missed file from r209046. 2014-05-16 23:16:06 +00:00
redecls Allow multiple modules with the same name to coexist in the module cache 2014-04-14 18:00:01 +00:00
self-import-header clang/test/Modules/self-import-header/test.m: Add explicit -target. 2013-05-16 06:59:30 +00:00
Rmodule-build.m Switch Wmodule-build to a remark 2014-05-08 22:36:02 +00:00
Werror-Wsystem-headers.m Reapply r207477 and r207479 without cyclic dependency 2014-04-29 16:25:26 +00:00
Werror.m Reapply r207477 and r207479 without cyclic dependency 2014-04-29 16:25:26 +00:00
auto-module-import.m Generate a marker token when entering or leaving a submodule when building a 2013-11-23 04:06:09 +00:00
autolink.m Fix autolinking when modules are imported in pch files 2014-01-31 01:06:56 +00:00
build-fail-notes.m Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +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 Require a module.map file to load a module 2014-01-22 23:19:39 +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-decls.cpp Push implicitly-declared allocation functions into the IdResolver. Otherwise, 2014-05-16 02:14:42 +00:00
cxx-inline-namespace.cpp If a name is injected into an imported inline namespace without reopening that 2014-03-23 20:41:56 +00:00
cxx-irgen.cpp When a module completes the definition of a class template specialization imported from another module, emit an update record, rather than using the broken decl rewriting mechanism. If multiple modules do this, merge the definitions together, much as we would if they were separate declarations. 2014-04-19 03:48:30 +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 If an instantiation of a template is required to be a complete type, check 2014-05-07 02:25:43 +00:00
cycles.c Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
declare-use.S modify declare-use.S to work when full toolchain not present 2014-03-18 12:25:27 +00:00
declare-use1.cpp Modules: Let -fmodules-decluse ignore headers that aren't in a module 2013-12-11 12:13:00 +00:00
declare-use2.cpp Change layering warning tests to not actually build modules. 2013-12-11 09:11:12 +00:00
declare-use3.cpp Use the expansion location of the file name when finding the module. 2014-03-19 10:22:36 +00:00
declare-use4.cpp Use the expansion location of the file name when finding the module. 2014-03-19 10:22:36 +00:00
decldef.m During typo correction, check for an exact match in an unimported module. If we 2013-08-20 20:35:18 +00:00
decldef.mm If a declaration is loaded, and then a module import adds a redeclaration, then 2014-05-16 23:01:30 +00:00
dependency-gen-inferred-map.m [Modules] Make sure that the synthesized file "__inferred_module.map" doesn't show up as dependency of a module file. 2014-03-14 02:26:31 +00:00
dependency-gen-pch.m Allow multiple modules with the same name to coexist in the module cache 2014-04-14 18:00:01 +00:00
dependency-gen.m Tweak some test paths to match on Windows 2014-03-07 08:15:35 +00:00
diag-pragma.c Require a module.map file to load a module 2014-01-22 23:19:39 +00:00
diamond-pch.c Allow multiple modules with the same name to coexist in the module cache 2014-04-14 18:00:01 +00:00
diamond.c Require a module.map file to load a module 2014-01-22 23:19:39 +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 Fix FileCheck --check-prefix lines. 2013-08-12 12:51:05 +00:00
epic-fail.m Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
exclude-header.c If a header is explicitly included in module A, and excluded from an umbrella 2014-04-08 13:13:04 +00:00
extern_c.cpp Module [extern_c] attribute: inherit to submodules, don't write 'extern "C"' 2014-03-08 00:03:56 +00:00
extern_c_bad.cpp Add [extern_c] attribute for modules, allowing a C module to be imported within an extern "C" block in C++ code. 2014-03-02 05:58:18 +00:00
fatal-module-loader-error.m libclang: report error code for bad PCH files 2014-02-12 19:12:37 +00:00
fmodules-validate-once-per-build-session.c Don't use find | xargs in test/Modules/fmodules-validate-once-per-build-session.c 2014-02-12 11:50:37 +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 Modules: Teach the preprocessor to recognize 'import' only after an '@'. 2013-11-07 22:55:02 +00:00
import-self.m Make module self-import an error 2014-05-05 05:31:33 +00:00
include-relative.c clang/test/Modules/include-relative.c REQUIRES shell due to chdir. 2014-03-11 09:00:49 +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
initializer_list.cpp C++ modules: don't lose track of a 'namespace std' that is imported from a module. 2013-10-18 06:54:39 +00:00
irgen.c Require a module.map file to load a module 2014-01-22 23:19:39 +00:00
linkage-merge.cpp DR101, PR12770: If a function is declared in the same context as a 2014-02-06 01:31:33 +00:00
linkage-merge.m Require a module.map file to load a module 2014-01-22 23:19:39 +00:00
load-after-failure.m Fix use-after-free and spurious error during module load 2014-05-19 16:13:45 +00:00
load_failure.c Require a module.map file to load a module 2014-01-22 23:19:39 +00:00
lookup.cpp Require a module.map file to load a module 2014-01-22 23:19:39 +00:00
lookup.m Require a module.map file to load a module 2014-01-22 23:19:39 +00:00
macro-undef-through-pch.m Allow multiple modules with the same name to coexist in the module cache 2014-04-14 18:00:01 +00:00
macros.c 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
macros2.c Fix crash if a submodule overrides one of its own macros, and add support for 2014-03-06 03:16:27 +00:00
malformed.cpp Fix module name collision in tests. 2013-11-23 05:21:32 +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
missing-header.m Don't build modules with (submodules with) missing headers 2014-04-18 22:07:31 +00:00
missing-submodule.m Do not print inferred submodules explicitly in __inferred_module.map 2014-04-23 21:10:46 +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
modular_maps.cpp Revert "Modules: Make missing headers in a module.map a warning not an error." 2013-12-16 14:57:22 +00:00
module-private.cpp Require a module.map file to load a module 2014-01-22 23:19:39 +00:00
module_file_info.m [PCH/Modules] Don't tie TargetOptions::LinkerVersion to a module/PCH, it's a driver only thing and doesn't affect any language/preprocessor/etc. semantics. 2014-04-29 18:45:01 +00:00
modulemap-locations.m Add a new spelling for module map files 'module.modulemap' 2014-03-19 20:23:34 +00:00
modules-with-same-name.m Allow multiple modules with the same name to coexist in the module cache 2014-04-14 18:00:01 +00:00
namespaces.cpp Render anonymous entities as '(anonymous <thing>)' (and lambdas as '(lambda at ... )') 2014-04-02 05:58:29 +00:00
normal-module-map.cpp During typo correction, check for an exact match in an unimported module. If we 2013-08-20 20:35:18 +00:00
objc-categories.m Require a module.map file to load a module 2014-01-22 23:19:39 +00:00
objc_redef.m Require a module.map file to load a module 2014-01-22 23:19:39 +00:00
odr.cpp Basic ODR checking for C++ modules: 2013-10-18 06:05:18 +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
pch-used.m Note when a decl is used in AST files. 2013-09-05 00:02:25 +00:00
private.cpp Test files for private header patch. 2013-06-20 21:15:51 +00:00
private1.cpp Use the same SourceManager for ModuleMaps and compilations. 2013-10-24 07:51:24 +00:00
prune.m Fix find command in test/Modules/prune.m broken by r206201 2014-04-14 18:50:28 +00:00
recursive.c clang/test/Modules/recursive.c: Tweak expressions for win32. 2014-03-06 00:12:04 +00:00
recursive_visibility.mm Include non-explicit submodules in exported module list 2013-11-04 21:51:33 +00:00
redecl-add-after-load.cpp If a declaration is loaded, and then a module import adds a redeclaration, then 2014-05-16 23:01:30 +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 Require a module.map file to load a module 2014-01-22 23:19:39 +00:00
redeclarations.m Require a module.map file to load a module 2014-01-22 23:19:39 +00:00
renamed.m Move the input files for the unnecessary-module-map-parsing test to Inputs. 2013-12-13 10:08:24 +00:00
require-modular-includes.m Remove -Wnon-modular-include 2014-05-08 18:09:29 +00:00
requires.m Allow a new syntax in a module requires-declaration: 2013-10-28 22:18:19 +00:00
requires.mm Allow a new syntax in a module requires-declaration: 2013-10-28 22:18:19 +00:00
resolution-change.m Reapply r207477 and r207479 without cyclic dependency 2014-04-29 16:25:26 +00:00
separate_map_tree.cpp Allow a header to be part of multiple modules. 2013-10-22 08:09:47 +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
strict-decluse.cpp Add -fmodules-strict-decluse to check that all headers are in modules 2014-04-11 11:47:45 +00:00
string_names.cpp Allow string literals as module names. 2013-12-06 09:25:54 +00:00
subframework-from-intermediate-path.m Prevent lookup of subframework modules by name without parent framework 2014-03-20 18:27:26 +00:00
subframeworks.m During typo correction, check for an exact match in an unimported module. If we 2013-08-20 20:35:18 +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 Make module self-import an error 2014-05-05 05:31:33 +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 Allow multiple modules with the same name to coexist in the module cache 2014-04-14 18:00:01 +00:00
template-specialization-visibility.cpp If an instantiation of a template is required to be a complete type, check 2014-05-07 02:25:43 +00:00
templates.mm Defer loading any pending update records until we've finished deserializing. 2014-04-30 02:24:17 +00:00
undefined-type-fixit1.cpp Initial implementation of -modules-earch-all option, for searching for symbols in non-imported modules. 2014-04-23 12:57:01 +00:00
unnecessary-module-map-parsing.c Modules: Don't warn upon missing headers while reading the module map. 2013-12-17 10:31:37 +00:00
update-after-load.cpp If a visibility update record is found for a DeclContext after that Decl has 2014-03-11 03:10:46 +00:00
using-decl.cpp Make UsingShadowDecls redeclarable. This fixes some visibility problems with 2013-10-23 02:17:46 +00:00
validate-system-headers.m Have validate-system-headers override validate-once-per-build-session 2014-04-08 15:36:28 +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