cling/lib/Interpreter
Vassil Vassilev d66199f99f Reland "[cxxmodules] Use common-rooted valid source location."
Original commit message:
"Over the years we have a pathological issue with cling when it calls directly
compiler API. Most of the API assume they are called from code residing in a
text file. This code has valid source locations which can be used for
comparisons and things like point of instantiation for template instantiations.

This means that whenever a clang API requires a valid source location, cling
should have an interface which gives a pseudo-valid, commonly-rooted unique
source location.

We are bitten by this fact when preloading modules as if we have diagnostics
they cannot be ordered due to the fact that the compared decls from two
different modules do not have a common includer.

This patch avoids using an API and relies on a textual form which does not have
this problem at the cost of synthesizing an extra string."
2019-09-14 07:59:43 +02:00
..
ASTTransformer.cpp Rename ASTTransformer.h -> TransactionTransformer.h. 2015-03-16 15:24:52 +01:00
ASTTransformer.h Only disable ptr checker, not all AST transformers! 2017-09-13 13:14:06 +02:00
AutoloadCallback.cpp Do not unload enum fwd decl but silence redecl diag (ROOT-9363 ROOT-9114). 2018-05-16 16:00:04 +02:00
AutoSynthesizer.cpp Fix Coverity CID66882 - clash with parameter name. 2016-09-12 22:31:57 +02:00
AutoSynthesizer.h Rename ASTTransformer.h -> TransactionTransformer.h. 2015-03-16 15:24:52 +01:00
BackendPasses.cpp Enable inline passes for higher (cling-runtime) opt levels. 2019-01-09 23:14:08 +01:00
BackendPasses.h Keep one PassManager per opt level; runOnModule now takes an OptLevel. 2017-04-12 15:44:35 +02:00
CheckEmptyTransactionTransformer.cpp Simplify invocation of DeclUnloader::UnloadDecl(). 2016-06-26 18:59:08 +02:00
CheckEmptyTransactionTransformer.h Rename ASTTransformer.h -> TransactionTransformer.h. 2015-03-16 15:24:52 +01:00
CIFactory.cpp Simplify query for include directories 2019-08-14 14:59:45 +02:00
ClangInternalState.cpp Sort filenames before printing them in ClangInternalState. Cache entries being invalidated are causing the map order to change. 2017-06-09 17:45:51 +02:00
ClingCodeCompleteConsumer.cpp Refactor 2016-07-18 14:29:14 +02:00
ClingPragmas.cpp Add support for multiple arguments in one pragma call. Add support for multiple styles: 2017-06-23 10:44:12 +02:00
ClingPragmas.h Add a cling pragma handler. For now implement #pragma cling load(file) 2015-02-18 14:51:21 +01:00
ClingUtils.h Remove code duplication 2015-04-17 02:50:36 +02:00
CMakeLists.txt Allow /clang-7" -cc1 to ge found. 2019-09-10 16:29:09 +02:00
DeclCollector.cpp Create transactions only if codegen (not rootcling): 2019-06-28 23:59:17 +02:00
DeclCollector.h Remove default-by-tokens default ctor (NFC). 2019-06-28 23:59:17 +02:00
DeclExtractor.cpp Warn if lambdas in global scope use copy capture. 2017-06-12 18:14:31 +02:00
DeclExtractor.h Warn if lambdas in global scope use copy capture. 2017-06-12 18:14:31 +02:00
DeclUnloader.cpp Do not rely on getSpecializations. 2018-01-21 09:14:46 +01:00
DeclUnloader.h Adapt to interface changes due to upgrade to r302975. 2017-06-08 10:29:13 +02:00
DynamicExprInfo.cpp Windows: Fix printing adresses as hexadecimal. Refactor into common function. Remove useless intermediate allocations/objects. 2016-11-21 12:44:34 +01:00
DynamicLibraryManager.cpp Mark library search paths system and user accordingly. 2019-07-18 20:59:17 +02:00
DynamicLookup.cpp Further delay the lazy initialization of dynamic lookup. 2018-11-20 10:50:54 +01:00
DynamicLookup.h Also escape array subscript (ROOT-7718). 2017-07-03 14:47:57 +02:00
EnterUserCodeRAII.h RAII, not RTTI: rename class and #includes. 2017-09-18 14:29:05 +02:00
Exception.cpp Adapt to interface changes due to upgrade to r302975. 2017-06-08 10:29:13 +02:00
ExternalInterpreterSource.cpp Fix LLVM API misuse when trying to replace and keep a DiagnosticConsumer. 2017-02-02 11:44:05 +01:00
ExternalInterpreterSource.h Remove unused member variable in ExternalInterpreterSource. 2017-01-25 12:14:06 +01:00
ForwardDeclPrinter.cpp Revert "Move enum attributes after "enum class X: int" (ROOT-9114)." 2018-05-16 16:00:04 +02:00
ForwardDeclPrinter.h Use LLVM stream wrappers to reduce complexity and line counts. 2016-12-20 12:29:06 +01:00
IncrementalCUDADeviceCompiler.cpp Forgot header for clang build. 2018-06-25 08:29:08 +02:00
IncrementalCUDADeviceCompiler.h Fix doxygen error. 2018-06-27 11:15:27 +02:00
IncrementalExecutor.cpp Constify. 2019-03-16 14:29:29 +01:00
IncrementalExecutor.h Constify. 2019-03-16 14:29:29 +01:00
IncrementalJIT.cpp Switch object format from ELF to COFF and fix symbols lookup 2017-11-29 22:30:07 +01:00
IncrementalJIT.h Return 0 if we cannot find an address. 2017-11-02 17:59:25 +01:00
IncrementalParser.cpp Help ValuePrinter find the transaction: 2019-09-01 09:15:17 +02:00
IncrementalParser.h Help ValuePrinter find the transaction: 2019-09-01 09:15:17 +02:00
Interpreter.cpp Reland "[cxxmodules] Use common-rooted valid source location." 2019-09-14 07:59:43 +02:00
InterpreterCallbacks.cpp Teach ACLiC to build modules. 2019-07-01 13:59:14 +02:00
InvocationOptions.cpp Introduce virtual modulemap overlay file (#3267) 2019-01-24 10:29:21 +01:00
LookupHelper.cpp Clang-formatting 2019-09-09 19:15:34 +02:00
MultiplexInterpreterCallbacks.h Teach ACLiC to build modules. 2019-07-01 13:59:14 +02:00
NullDerefProtectionTransformer.cpp Fix unused var warning. 2018-10-31 17:14:05 +01:00
NullDerefProtectionTransformer.h Only check pointers for Decls from writable dirs (ROOT-9377). 2018-06-25 12:59:56 +02:00
RequiredSymbols.cpp Add cling output streams to cling/Utils/Output.h 2016-12-19 13:59:11 +01:00
Threading.h Coding conventions 2015-03-16 13:12:47 +01:00
Transaction.cpp Fix assert failure with duplicate decls. 2017-10-27 10:52:41 +02:00
TransactionPool.h Update comments for TransactionPool. 2016-09-16 21:39:49 +02:00
TransactionUnloader.cpp Simplify llvm::Module emission in the JIT. 2017-10-10 18:32:58 +02:00
TransactionUnloader.h shared_ptr-ize the llvm::Module*. 2017-10-05 17:59:08 +02:00
Value.cpp Use canary bytes to determine whether to run dtor: 2019-07-11 14:44:14 +02:00
ValueExtractionSynthesizer.cpp We do not need to use std::addressof. Clang has a builtin analog. 2018-03-12 00:14:06 +01:00
ValueExtractionSynthesizer.h Revert "Use a stable way to determine the address of printed objects." 2018-03-12 00:14:06 +01:00
ValuePrinter.cpp Help ValuePrinter find the transaction: 2019-09-01 09:15:17 +02:00
ValuePrinterSynthesizer.cpp Remove unused stream argument. 2016-10-05 10:53:00 +02:00
ValuePrinterSynthesizer.h Remove unused stream argument. 2016-10-05 10:53:00 +02:00