Author: Lang Hames Date: 2024-08-28T15:49:40+10:00 New Revision: e6cbea11578f197589801297d22b9b3bc4f1bd10
URL: https://github.com/llvm/llvm-project/commit/e6cbea11578f197589801297d22b9b3bc4f1bd10 DIFF: https://github.com/llvm/llvm-project/commit/e6cbea11578f197589801297d22b9b3bc4f1bd10.diff LOG: Revert "[lldb] unique_ptr-ify some GetUserExpression APIs. (#106034)" This reverts commit 3c5ab5a75a9c8fb87dcb13cdf4207aa975fd6972 while I investigate bot failures (e.g. https://lab.llvm.org/buildbot/#/builders/163/builds/4286). Added: Modified: lldb/include/lldb/Symbol/TypeSystem.h lldb/include/lldb/Target/Target.h lldb/source/Breakpoint/BreakpointLocation.cpp lldb/source/Breakpoint/Watchpoint.cpp lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h lldb/source/Target/Target.cpp Removed: ################################################################################ diff --git a/lldb/include/lldb/Symbol/TypeSystem.h b/lldb/include/lldb/Symbol/TypeSystem.h index b1ed5df3013a2b..7d48f9b316138c 100644 --- a/lldb/include/lldb/Symbol/TypeSystem.h +++ b/lldb/include/lldb/Symbol/TypeSystem.h @@ -495,7 +495,7 @@ class TypeSystem : public PluginInterface, return IsPointerOrReferenceType(type, nullptr); } - virtual std::unique_ptr<UserExpression> GetUserExpression( + virtual UserExpression *GetUserExpression( llvm::StringRef expr, llvm::StringRef prefix, SourceLanguage language, Expression::ResultType desired_type, const EvaluateExpressionOptions &options, ValueObject *ctx_obj) { diff --git a/lldb/include/lldb/Target/Target.h b/lldb/include/lldb/Target/Target.h index 95e3aaf02b19d5..7f4d607f5427df 100644 --- a/lldb/include/lldb/Target/Target.h +++ b/lldb/include/lldb/Target/Target.h @@ -1174,7 +1174,7 @@ class Target : public std::enable_shared_from_this<Target>, // parameters have the same meaning as for the UserExpression constructor. // Returns a new-ed object which the caller owns. - std::unique_ptr<UserExpression> + UserExpression * GetUserExpressionForLanguage(llvm::StringRef expr, llvm::StringRef prefix, SourceLanguage language, Expression::ResultType desired_type, diff --git a/lldb/source/Breakpoint/BreakpointLocation.cpp b/lldb/source/Breakpoint/BreakpointLocation.cpp index 91a36bf2bd9e08..8d7364052a006a 100644 --- a/lldb/source/Breakpoint/BreakpointLocation.cpp +++ b/lldb/source/Breakpoint/BreakpointLocation.cpp @@ -251,9 +251,9 @@ bool BreakpointLocation::ConditionSaysStop(ExecutionContext &exe_ctx, if (comp_unit) language = comp_unit->GetLanguage(); - m_user_expression_sp = GetTarget().GetUserExpressionForLanguage( + m_user_expression_sp.reset(GetTarget().GetUserExpressionForLanguage( condition_text, llvm::StringRef(), language, Expression::eResultTypeAny, - EvaluateExpressionOptions(), nullptr, error); + EvaluateExpressionOptions(), nullptr, error)); if (error.Fail()) { LLDB_LOGF(log, "Error getting condition expression: %s.", error.AsCString()); diff --git a/lldb/source/Breakpoint/Watchpoint.cpp b/lldb/source/Breakpoint/Watchpoint.cpp index 577ee81d687dcb..715e83c76697b2 100644 --- a/lldb/source/Breakpoint/Watchpoint.cpp +++ b/lldb/source/Breakpoint/Watchpoint.cpp @@ -463,9 +463,9 @@ void Watchpoint::SetCondition(const char *condition) { } else { // Pass nullptr for expr_prefix (no translation-unit level definitions). Status error; - m_condition_up = m_target.GetUserExpressionForLanguage( + m_condition_up.reset(m_target.GetUserExpressionForLanguage( condition, {}, {}, UserExpression::eResultTypeAny, - EvaluateExpressionOptions(), nullptr, error); + EvaluateExpressionOptions(), nullptr, error)); if (error.Fail()) { // FIXME: Log something... m_condition_up.reset(); diff --git a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp index 2e2f4be6343791..695801da9da69a 100644 --- a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp +++ b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp @@ -9741,7 +9741,7 @@ void ScratchTypeSystemClang::Dump(llvm::raw_ostream &output) { } } -std::unique_ptr<UserExpression> ScratchTypeSystemClang::GetUserExpression( +UserExpression *ScratchTypeSystemClang::GetUserExpression( llvm::StringRef expr, llvm::StringRef prefix, SourceLanguage language, Expression::ResultType desired_type, const EvaluateExpressionOptions &options, ValueObject *ctx_obj) { @@ -9749,8 +9749,8 @@ std::unique_ptr<UserExpression> ScratchTypeSystemClang::GetUserExpression( if (!target_sp) return nullptr; - return std::make_unique<ClangUserExpression>( - *target_sp.get(), expr, prefix, language, desired_type, options, ctx_obj); + return new ClangUserExpression(*target_sp.get(), expr, prefix, language, + desired_type, options, ctx_obj); } FunctionCaller *ScratchTypeSystemClang::GetFunctionCaller( diff --git a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h index fc29a2e5eaefc7..e39aedec7e3902 100644 --- a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h +++ b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h @@ -1299,10 +1299,12 @@ class ScratchTypeSystemClang : public TypeSystemClang { /// \see lldb_private::TypeSystem::Dump void Dump(llvm::raw_ostream &output) override; - std::unique_ptr<UserExpression> GetUserExpression( - llvm::StringRef expr, llvm::StringRef prefix, SourceLanguage language, - Expression::ResultType desired_type, - const EvaluateExpressionOptions &options, ValueObject *ctx_obj) override; + UserExpression *GetUserExpression(llvm::StringRef expr, + llvm::StringRef prefix, + SourceLanguage language, + Expression::ResultType desired_type, + const EvaluateExpressionOptions &options, + ValueObject *ctx_obj) override; FunctionCaller *GetFunctionCaller(const CompilerType &return_type, const Address &function_address, diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp index e0c92df0f9d7fc..fcac0a48f46e6d 100644 --- a/lldb/source/Target/Target.cpp +++ b/lldb/source/Target/Target.cpp @@ -2521,7 +2521,7 @@ Target::GetPersistentExpressionStateForLanguage(lldb::LanguageType language) { return nullptr; } -std::unique_ptr<UserExpression> Target::GetUserExpressionForLanguage( +UserExpression *Target::GetUserExpressionForLanguage( llvm::StringRef expr, llvm::StringRef prefix, SourceLanguage language, Expression::ResultType desired_type, const EvaluateExpressionOptions &options, ValueObject *ctx_obj, @@ -2544,8 +2544,8 @@ std::unique_ptr<UserExpression> Target::GetUserExpressionForLanguage( return nullptr; } - auto user_expr = ts->GetUserExpression(expr, prefix, language, desired_type, - options, ctx_obj); + auto *user_expr = ts->GetUserExpression(expr, prefix, language, desired_type, + options, ctx_obj); if (!user_expr) error = Status::FromErrorStringWithFormat( "Could not create an expression for language %s", _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits