]> granicus.if.org Git - clang/commit
Keep track of modules that have failed to build. If we encounter an
authorDouglas Gregor <dgregor@apple.com>
Thu, 29 Nov 2012 23:55:25 +0000 (23:55 +0000)
committerDouglas Gregor <dgregor@apple.com>
Thu, 29 Nov 2012 23:55:25 +0000 (23:55 +0000)
commit463d90986ec54c62bf8fe31193ef5db701db48a5
tree70dae4bd00311bdd08f2e1f4007c7042375dea12
parentdb748a380ab89b1c0b6e751e55291f57605cccce
Keep track of modules that have failed to build. If we encounter an
import of that module elsewhere, don't try to build the module again:
it won't work, and the experience is quite dreadful. We track this
information somewhat globally, shared among all of the related
CompilerInvocations used to build modules on-the-fly, so that a
particular Clang instance will only try to build a given module once.

Fixes <rdar://problem/12552849>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168961 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Frontend/ASTUnit.h
include/clang/Frontend/CompilerInstance.h
include/clang/Lex/ModuleLoader.h
include/clang/Lex/PreprocessorOptions.h
lib/Frontend/CompilerInstance.cpp
lib/Lex/PPDirectives.cpp
test/Modules/epic-fail.m [new file with mode: 0644]