llvm-project/lldb/source/Plugins/ExpressionParser/Clang
Sean Callanan a3444ffcdd Made the ClangASTImporter into a shared pointer, eliminating a race condition.
It used to be a unique pointer, and there could be a case where ClangASTSource
held onto a copy of the pointer but Target::Destroy destroyed the unique pointer
in the mean time.

I also ensured that there is a validity check on the target (which confirms that
a ClangASTImporter can be generated) before the target's shared pointer is
copied into ClangASTSource.

This race condition caused a crash if Target::Destroy was called and then later
the target objecct was deleted.

llvm-svn: 252665
2015-11-10 22:54:42 +00:00
..
ASTDumper.cpp Moved more Clang-specific parts of the expression parser into the Clang plugin. 2015-09-25 20:35:58 +00:00
ASTDumper.h Moved more Clang-specific parts of the expression parser into the Clang plugin. 2015-09-25 20:35:58 +00:00
ASTResultSynthesizer.cpp Made Target hold a map of languages to TypeSystems, and added some accessors. 2015-10-01 16:28:02 +00:00
ASTResultSynthesizer.h Reduce header inclusion in Expression. 2015-10-07 17:22:54 +00:00
ASTStructExtractor.cpp Moved more Clang-specific parts of the expression parser into the Clang plugin. 2015-09-25 20:35:58 +00:00
ASTStructExtractor.h Moved more Clang-specific parts of the expression parser into the Clang plugin. 2015-09-25 20:35:58 +00:00
CMakeLists.txt Moved more Clang-specific parts of the expression parser into the Clang plugin. 2015-09-25 20:35:58 +00:00
ClangASTSource.cpp Made the ClangASTImporter into a shared pointer, eliminating a race condition. 2015-11-10 22:54:42 +00:00
ClangASTSource.h Made the ClangASTImporter into a shared pointer, eliminating a race condition. 2015-11-10 22:54:42 +00:00
ClangExpressionDeclMap.cpp Made the ClangASTImporter into a shared pointer, eliminating a race condition. 2015-11-10 22:54:42 +00:00
ClangExpressionDeclMap.h Fixed some issues with reporting "this" when the current function is not listed 2015-10-23 21:45:02 +00:00
ClangExpressionHelper.h Moved ClangExpressionHelper.h into the Clang expression parser plug-in. 2015-09-25 22:47:07 +00:00
ClangExpressionParser.cpp Add IRExecutionUnitSP to lldb-forward and use it instead of hand-rolling in place. 2015-11-05 01:50:42 +00:00
ClangExpressionParser.h Add IRExecutionUnitSP to lldb-forward and use it instead of hand-rolling in place. 2015-11-05 01:50:42 +00:00
ClangExpressionVariable.cpp Eliminated redundant "constructors" for ClangExpressionVariable. 2015-10-01 23:07:06 +00:00
ClangExpressionVariable.h Eliminated redundant "constructors" for ClangExpressionVariable. 2015-10-01 23:07:06 +00:00
ClangFunctionCaller.cpp Moved more Clang-specific parts of the expression parser into the Clang plugin. 2015-09-25 20:35:58 +00:00
ClangFunctionCaller.h Fix Clang-tidy modernize-use-override warnings in some files in source/Plugins; other minor fixes. 2015-10-21 01:03:30 +00:00
ClangModulesDeclVendor.cpp Revert "Clang module compilation options need to be per-platform." 2015-10-26 21:38:41 +00:00
ClangModulesDeclVendor.h Moved more Clang-specific parts of the expression parser into the Clang plugin. 2015-09-25 20:35:58 +00:00
ClangPersistentVariables.cpp Eliminated redundant "constructors" for ClangExpressionVariable. 2015-10-01 23:07:06 +00:00
ClangPersistentVariables.h Fix Clang-tidy modernize-use-override warnings in some files in source/Plugins; other minor fixes. 2015-10-21 01:03:30 +00:00
ClangUserExpression.cpp AddInitialArguments -> AddArguments, and we pass in the struct_address and push it too. All the 2015-11-05 00:24:18 +00:00
ClangUserExpression.h AddInitialArguments -> AddArguments, and we pass in the struct_address and push it too. All the 2015-11-05 00:24:18 +00:00
ClangUtilityFunction.cpp Add PersistentVariableDelegate to handle language-specific dematerialization. 2015-10-03 09:09:01 +00:00
ClangUtilityFunction.h Moved ClangExpressionHelper.h into the Clang expression parser plug-in. 2015-09-25 22:47:07 +00:00
IRForTarget.cpp Make lldb::endian::InlHostByteOrder() private. 2015-11-07 04:40:13 +00:00
IRForTarget.h Moved more Clang-specific parts of the expression parser into the Clang plugin. 2015-09-25 20:35:58 +00:00
Makefile Fix Makefile build 2015-09-05 20:01:56 +00:00