cling/lib/Interpreter
Jonas Hahnfeld a6f2255dc7 Fix lifetime of ClingMMapper
The ClingMMapper must remain available until all ClingMemoryManagers
are destructed, which is typically during shutdown of IncrementalJIT.
This was not the case for the global object MMapperInstance that was
introduced during the upgrade to LLVM 13 because libCling variables
are destructed before running TROOT atexit handlers that shut down
the JIT. In practice, it happened to work but this will change with
the upgrade to LLVM 18 where we see crashes in some tests, potentially
because of upstream commit
47f5c54f99

See also commits e0f6c04660 ("Prevent static destruction from ending
DefaultMMapper too early") and 80c14bb948 ("Extend lifetime of
SectionMemoryManager::DefaultMMapper, again") for the same problem
that we previously patched in our copy of LLVM.
2024-08-27 13:59:05 +02:00
..
ASTTransformer.cpp Rename ASTTransformer.h -> TransactionTransformer.h. 2015-03-16 15:24:52 +01:00
ASTTransformer.h Use nullptr in cling 2023-01-30 08:29:07 +01:00
AutoloadCallback.cpp Use StringRef::{starts,ends}_with 2024-02-23 09:44:06 +01:00
AutoSynthesizer.cpp CompoundStmt::Create takes FPOptionsOverride 2023-12-11 08:59:20 +01:00
AutoSynthesizer.h Rename ASTTransformer.h -> TransactionTransformer.h. 2015-03-16 15:24:52 +01:00
BackendPasses.cpp Add plugin support (#15169) 2024-04-12 15:59:08 +02:00
BackendPasses.h Move from legacy to new pass manager 2024-01-30 09:44:04 +01: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 Always apply SetClingCustomLangOpts 2024-08-23 09:14:07 +02:00
ClangInternalState.cpp Use StringRef::{starts,ends}_with 2024-02-23 09:44:06 +01:00
ClingCodeCompleteConsumer.cpp Use StringRef::{starts,ends}_with 2024-02-23 09:44:06 +01:00
ClingPragmas.cpp LookupFile takes arguments as ConstSearchDirIterator 2023-12-11 08:59:20 +01: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 Add TableGen-based generator for command line arguments 2024-02-23 09:59:07 +01:00
DeclCollector.cpp Reimplement HandleInvalidTagDeclDefinition without clang support. 2021-05-03 19:29:03 +02:00
DeclCollector.h Reimplement HandleInvalidTagDeclDefinition without clang support. 2021-05-03 19:29:03 +02:00
DeclExtractor.cpp CompoundStmt::Create takes FPOptionsOverride 2023-12-11 08:59:20 +01:00
DeclExtractor.h Remove unused parameters. Fixes -Wunused-parameter. 2021-02-25 20:44:18 +01:00
DeclUnloader.cpp Use StringRef::{starts,ends}_with 2024-02-23 09:44:06 +01:00
DeclUnloader.h Handle variable templates in DeclUnloader 2023-11-30 09:29:02 +01:00
DefinitionShadower.cpp Use StringRef::{starts,ends}_with 2024-02-23 09:44:06 +01:00
DefinitionShadower.h Diagnose shadowing of decls in the std namespace 2022-02-11 01:59:05 +01:00
DeviceKernelInliner.cpp Changes for Pull Request #284 2019-11-07 19:29:15 +01:00
DeviceKernelInliner.h Changes for Pull Request #284 2019-11-07 19:29:15 +01:00
DynamicExprInfo.cpp llvm::StringRef does not support automatic conversion to string anymore. 2022-12-09 08:44:16 +01:00
DynamicLibraryManager.cpp Use StringRef::{starts,ends}_with 2024-02-23 09:44:06 +01:00
DynamicLibraryManagerSymbol.cpp Misc renamings and type changes 2023-12-11 08:59:20 +01:00
DynamicLookup.cpp MultiLevelTemplateArgumentList 2023-12-11 08:59:20 +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 Misc renamings and type changes 2023-12-11 08:59:20 +01:00
ExternalInterpreterSource.cpp Use StringRef::{starts,ends}_with 2024-02-23 09:44:06 +01:00
ExternalInterpreterSource.h Remove unused member variable in ExternalInterpreterSource. 2017-01-25 12:14:06 +01:00
ForwardDeclPrinter.cpp Use StringRef::{starts,ends}_with 2024-02-23 09:44:06 +01:00
ForwardDeclPrinter.h Misc renamings and type changes 2023-12-11 08:59:20 +01:00
IncrementalCUDADeviceCompiler.cpp Replace llvm::Optional, llvm::None with their std equivalents 2023-12-13 13:29:06 +01:00
IncrementalExecutor.cpp Restore symbol lookup in child interpreters 2023-05-31 21:29:03 +02:00
IncrementalExecutor.h Restore symbol lookup in child interpreters 2023-05-31 21:29:03 +02:00
IncrementalJIT.cpp Fix lifetime of ClingMMapper 2024-08-27 13:59:05 +02:00
IncrementalJIT.h Restore symbol lookup in child interpreters 2023-05-31 21:29:03 +02:00
IncrementalParser.cpp Globally enable incremental extensions 2024-08-09 08:59:03 +02:00
IncrementalParser.h Remove m_MemoryBuffers completely 2024-05-06 16:59:09 +02:00
Interpreter.cpp Globally enable incremental extensions 2024-08-09 08:59:03 +02:00
InterpreterCallbacks.cpp Remove never used code from the callbacks. 2024-05-02 10:59:05 +02:00
InvocationOptions.cpp Add plugin support (#15169) 2024-04-12 15:59:08 +02:00
LookupHelper.cpp Globally enable incremental extensions 2024-08-09 08:59:03 +02:00
MultiplexInterpreterCallbacks.h Remove never used code from the callbacks. 2024-05-02 10:59:05 +02:00
NullDerefProtectionTransformer.cpp Use StringRef::{starts,ends}_with 2024-02-23 09:44:06 +01:00
NullDerefProtectionTransformer.h Only check pointers for Decls from writable dirs (ROOT-9377). 2018-06-25 12:59:56 +02:00
PerfJITEventListener.cpp Re-enable support for profiling/debugging interpreted/JITted code 2022-12-15 10:29:03 +01:00
RequiredSymbols.cpp Remove symbols explicitly exported through CLING_EXPORT. 2021-05-25 16:29:06 +02:00
Threading.h Coding conventions 2015-03-16 13:12:47 +01:00
Transaction.cpp Assert that no nested attaches to unloading Transaction. 2021-04-06 00:14:05 +02:00
TransactionPool.h Assert released transaction is != last in pool: 2021-04-06 00:14:05 +02:00
TransactionUnloader.cpp Delete globals before JIT deletes the module: 2022-12-09 08:44:20 +01:00
TransactionUnloader.h Try moving cling to the new orc jit api. 2021-02-25 20:44:17 +01:00
Value.cpp Remove unused ASTContext from getCorrespondingTypeKind 2023-07-20 08:44:03 +02:00
ValueExtractionSynthesizer.cpp Cast to base element type pointer before calling copyArray 2023-08-18 19:29:07 +02:00
ValueExtractionSynthesizer.h Report ValueExtractionSynthesizer errors with DiagnosticsEngine. 2020-08-20 09:44:06 +02:00
ValuePrinter.cpp Implement value printing for std::source_location 2024-01-17 16:29:04 +01:00
ValuePrinterSynthesizer.cpp CompoundStmt::Create takes FPOptionsOverride 2023-12-11 08:59:20 +01:00
ValuePrinterSynthesizer.h Create new CompoundStmt instead of replacing children 2021-04-23 09:29:06 +02:00