llvm-project/clang/lib/Frontend
Gabor Marton 2afbfb6b22 [ASTImporter] Mark erroneous nodes in shared st
Summary:
Now we store the errors for the Decls in the "to" context too. For
that, however, we have to put these errors in a shared state (among all
the ASTImporter objects which handle the same "to" context but different
"from" contexts).

After a series of imports from different "from" TUs we have a "to" context
which may have erroneous nodes in it. (Remember, the AST is immutable so
there is no way to delete a node once we had created it and we realized
the error later.) All these erroneous nodes are marked in
ASTImporterSharedState::ImportErrors.  Clients of the ASTImporter may
use this as an input. E.g. the static analyzer engine may not try to
analyze a function if that is marked as erroneous (it can be queried via
ASTImporterSharedState::getImportDeclErrorIfAny()).

Reviewers: a_sidorin, a.sidorin, shafik

Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D62376

llvm-svn: 364785
2019-07-01 15:37:07 +00:00
..
Rewrite BitStream reader: propagate errors 2019-06-26 19:50:12 +00:00
ASTConsumers.cpp Introduce the ability to dump the AST to JSON. 2019-05-13 21:39:55 +00:00
ASTMerge.cpp [ASTImporter] Mark erroneous nodes in shared st 2019-07-01 15:37:07 +00:00
ASTUnit.cpp BitStream reader: propagate errors 2019-06-26 19:50:12 +00:00
CMakeLists.txt [clang-ifs] Clang Interface Stubs, first version (second landing attempt). 2019-06-20 16:59:48 +00:00
ChainedDiagnosticConsumer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ChainedIncludesSource.cpp Modules: Rename MemoryBufferCache to InMemoryModuleCache 2019-03-09 17:33:56 +00:00
CompilerInstance.cpp BitStream reader: propagate errors 2019-06-26 19:50:12 +00:00
CompilerInvocation.cpp [Driver] Fix style issues of --print-supported-cpus after D63105 2019-06-29 01:24:36 +00:00
CreateInvocationFromCommandLine.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DependencyFile.cpp [clang-scan-deps] print the dependencies to stdout 2019-06-21 18:24:55 +00:00
DependencyGraph.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DiagnosticRenderer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FrontendAction.cpp BitStream reader: propagate errors 2019-06-26 19:50:12 +00:00
FrontendActions.cpp Add clang source minimizer that reduces source to directives 2019-06-03 22:59:17 +00:00
FrontendOptions.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FrontendTiming.cpp Fix file headers. NFC 2019-03-01 06:49:51 +00:00
HeaderIncludeGen.cpp Fix file headers. NFC 2019-03-01 06:49:51 +00:00
InitHeaderSearch.cpp [WebAssembly] Modernize include path handling 2019-06-13 09:42:43 +00:00
InitPreprocessor.cpp Fix the predefined exponent limit macros for the 16-bit IEEE format. 2019-05-31 01:21:36 +00:00
InterfaceStubFunctionsConsumer.cpp [clang-ifs] Clang Interface Stubs, first version (second landing attempt). 2019-06-20 16:59:48 +00:00
LangStandards.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LayoutOverrideSource.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LogDiagnosticPrinter.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ModuleDependencyCollector.cpp [ModuleDependencyCollector] Use llvm::sys::fs::real_path (NFC) 2019-01-30 06:26:26 +00:00
MultiplexConsumer.cpp [OPENMP 5.0]Add initial support for 'allocate' directive. 2019-03-07 17:54:44 +00:00
PrecompiledPreamble.cpp BitStream reader: propagate errors 2019-06-26 19:50:12 +00:00
PrintPreprocessedOutput.cpp [PragmaHandler] Expose `#pragma` location 2019-05-21 23:51:38 +00:00
SerializedDiagnosticPrinter.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SerializedDiagnosticReader.cpp BitStream reader: propagate errors 2019-06-26 19:50:12 +00:00
TestModuleFileExtension.cpp BitStream reader: propagate errors 2019-06-26 19:50:12 +00:00
TestModuleFileExtension.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
TextDiagnostic.cpp Do not resolve directory junctions for `-fdiagnostics-absolute-paths` on Windows. 2019-05-24 04:46:22 +00:00
TextDiagnosticBuffer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
TextDiagnosticPrinter.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
VerifyDiagnosticConsumer.cpp [verify] Add support for location markers in directives. 2019-04-13 04:33:39 +00:00