[Lldb-commits] [EXTERNAL] [lldb] fbaf48b - [lldb] Remove redundant .c_str() and .get() calls

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Mon Dec 19 01:55:25 PST 2022


(I fixed the test failures with 
071c62c5d3eda2836174c0de82f6c55b082e26fc, so this should be safe to 
reapply now.)

On 19/12/2022 01:09, Stella Stamenova via lldb-commits wrote:
> I think this broke the windows lldb bot:
> 
> https://lab.llvm.org/buildbot/#/builders/83/builds/27352
> 
> Can you address the failure or revert the change? I can revert it tomorrow otherwise.
> 
> Thanks,
> -Stella
> 
> -----Original Message-----
> From: lldb-commits <lldb-commits-bounces at lists.llvm.org> On Behalf Of Fangrui Song via lldb-commits
> Sent: Saturday, December 17, 2022 5:16 PM
> To: lldb-commits at lists.llvm.org
> Subject: [EXTERNAL] [Lldb-commits] [lldb] fbaf48b - [lldb] Remove redundant .c_str() and .get() calls
> 
> 
> Author: Fangrui Song
> Date: 2022-12-18T01:15:25Z
> New Revision: fbaf48be0ff6fb24b9aa8fe9c2284fe88a8798dd
> 
> URL: https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fllvm%2Fllvm-project%2Fcommit%2Ffbaf48be0ff6fb24b9aa8fe9c2284fe88a8798dd&data=05%7C01%7CSTILIS%40microsoft.com%7Cbb5532e79e21420847da08dae0955e85%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638069229409870530%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=w2DRW2raXlSi3NYQL%2BeSqHZtuImPdR%2Bbi2EMqYzCZnQ%3D&reserved=0
> DIFF: https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fllvm%2Fllvm-project%2Fcommit%2Ffbaf48be0ff6fb24b9aa8fe9c2284fe88a8798dd.diff&data=05%7C01%7CSTILIS%40microsoft.com%7Cbb5532e79e21420847da08dae0955e85%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638069229409870530%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=GS4cYm4kPFClslEDMeaQl5Rpb26TVVf%2Fg0mAlaVsLcQ%3D&reserved=0
> 
> LOG: [lldb] Remove redundant .c_str() and .get() calls
> 
> Removing .c_str() has a semantics difference, but the use scenarios
> likely do not matter as we don't have NUL in the strings.
> 
> Added:
>      
> 
> Modified:
>      lldb/include/lldb/Target/Process.h
>      lldb/source/API/SBCommandReturnObject.cpp
>      lldb/source/API/SBExpressionOptions.cpp
>      lldb/source/API/SBSourceManager.cpp
>      lldb/source/Breakpoint/BreakpointResolverScripted.cpp
>      lldb/source/Commands/CommandObjectBreakpoint.cpp
>      lldb/source/Commands/CommandObjectExpression.cpp
>      lldb/source/Commands/CommandObjectHelp.cpp
>      lldb/source/Commands/CommandObjectMultiword.cpp
>      lldb/source/Commands/CommandObjectTarget.cpp
>      lldb/source/Commands/CommandObjectThread.cpp
>      lldb/source/Core/Disassembler.cpp
>      lldb/source/Core/FormatEntity.cpp
>      lldb/source/Core/IOHandlerCursesGUI.cpp
>      lldb/source/Expression/REPL.cpp
>      lldb/source/Interpreter/CommandInterpreter.cpp
>      lldb/source/Interpreter/OptionArgParser.cpp
>      lldb/source/Interpreter/OptionValueArch.cpp
>      lldb/source/Interpreter/ScriptInterpreter.cpp
>      lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
>      lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp
>      lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.cpp
>      lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
>      lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
>      lldb/source/Plugins/Language/ObjC/Cocoa.cpp
>      lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
>      lldb/source/Plugins/Platform/Android/AdbClient.cpp
>      lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp
>      lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
>      lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
>      lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h
>      lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
>      lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
>      lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
>      lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
>      lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
>      lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
>      lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
>      lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
>      lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
>      lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
>      lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h
>      lldb/source/Symbol/LocateSymbolFileMacOSX.cpp
>      lldb/source/Target/LanguageRuntime.cpp
>      lldb/source/Target/TargetList.cpp
>      lldb/source/Target/Thread.cpp
>      lldb/source/Target/ThreadPlanStack.cpp
>      lldb/tools/debugserver/source/DNBTimer.h
>      lldb/tools/lldb-vscode/BreakpointBase.cpp
> 
> Removed:
>      
> 
> 
> ################################################################################
> diff  --git a/lldb/include/lldb/Target/Process.h b/lldb/include/lldb/Target/Process.h
> index 47040137078f..8bb8b85e22fb 100644
> --- a/lldb/include/lldb/Target/Process.h
> +++ b/lldb/include/lldb/Target/Process.h
> @@ -2704,7 +2704,7 @@ void PruneThreadPlans();
>     };
>   
>     void SetNextEventAction(Process::NextEventAction *next_event_action) {
> -    if (m_next_event_action_up.get())
> +    if (m_next_event_action_up)
>         m_next_event_action_up->HandleBeingUnshipped();
>   
>       m_next_event_action_up.reset(next_event_action);
> 
> diff  --git a/lldb/source/API/SBCommandReturnObject.cpp b/lldb/source/API/SBCommandReturnObject.cpp
> index 7d2c102b3d8c..bf9c66453c90 100644
> --- a/lldb/source/API/SBCommandReturnObject.cpp
> +++ b/lldb/source/API/SBCommandReturnObject.cpp
> @@ -292,7 +292,7 @@ void SBCommandReturnObject::PutCString(const char *string, int len) {
>       return;
>     } else if (len > 0) {
>       std::string buffer(string, len);
> -    ref().AppendMessage(buffer.c_str());
> +    ref().AppendMessage(buffer);
>     } else
>       ref().AppendMessage(string);
>   }
> 
> diff  --git a/lldb/source/API/SBExpressionOptions.cpp b/lldb/source/API/SBExpressionOptions.cpp
> index d07acbc0aa2d..6ae57f24606a 100644
> --- a/lldb/source/API/SBExpressionOptions.cpp
> +++ b/lldb/source/API/SBExpressionOptions.cpp
> @@ -254,5 +254,5 @@ EvaluateExpressionOptions *SBExpressionOptions::get() const {
>   }
>   
>   EvaluateExpressionOptions &SBExpressionOptions::ref() const {
> -  return *(m_opaque_up.get());
> +  return *m_opaque_up;
>   }
> 
> diff  --git a/lldb/source/API/SBSourceManager.cpp b/lldb/source/API/SBSourceManager.cpp
> index 7729f5d9d69f..68815026c464 100644
> --- a/lldb/source/API/SBSourceManager.cpp
> +++ b/lldb/source/API/SBSourceManager.cpp
> @@ -88,14 +88,14 @@ SBSourceManager::SBSourceManager(const SBSourceManager &rhs) {
>     if (&rhs == this)
>       return;
>   
> -  m_opaque_up = std::make_unique<SourceManagerImpl>(*(rhs.m_opaque_up.get()));
> +  m_opaque_up = std::make_unique<SourceManagerImpl>(*rhs.m_opaque_up);
>   }
>   
>   const lldb::SBSourceManager &SBSourceManager::
>   operator=(const lldb::SBSourceManager &rhs) {
>     LLDB_INSTRUMENT_VA(this, rhs);
>   
> -  m_opaque_up = std::make_unique<SourceManagerImpl>(*(rhs.m_opaque_up.get()));
> +  m_opaque_up = std::make_unique<SourceManagerImpl>(*rhs.m_opaque_up);
>     return *this;
>   }
>   
> 
> diff  --git a/lldb/source/Breakpoint/BreakpointResolverScripted.cpp b/lldb/source/Breakpoint/BreakpointResolverScripted.cpp
> index 308c3b987f58..44a5fb16a5a5 100644
> --- a/lldb/source/Breakpoint/BreakpointResolverScripted.cpp
> +++ b/lldb/source/Breakpoint/BreakpointResolverScripted.cpp
> @@ -139,7 +139,7 @@ void BreakpointResolverScripted::GetDescription(Stream *s) {
>                                            short_help);
>     }
>     if (!short_help.empty())
> -    s->PutCString(short_help.c_str());
> +    s->PutCString(short_help);
>     else
>       s->Printf("python class = %s", m_class_name.c_str());
>   }
> 
> diff  --git a/lldb/source/Commands/CommandObjectBreakpoint.cpp b/lldb/source/Commands/CommandObjectBreakpoint.cpp
> index 62e46c59e169..72da81f76884 100644
> --- a/lldb/source/Commands/CommandObjectBreakpoint.cpp
> +++ b/lldb/source/Commands/CommandObjectBreakpoint.cpp
> @@ -130,10 +130,10 @@ class lldb_private::BreakpointOptionGroup : public OptionGroup {
>           m_bp_opts.SetThreadID(thread_id);
>       } break;
>       case 'T':
> -      m_bp_opts.GetThreadSpec()->SetName(option_arg.str().c_str());
> +      m_bp_opts.GetThreadSpec()->SetName(option_arg.str());
>         break;
>       case 'q':
> -      m_bp_opts.GetThreadSpec()->SetQueueName(option_arg.str().c_str());
> +      m_bp_opts.GetThreadSpec()->SetQueueName(option_arg.str());
>         break;
>       case 'x': {
>         uint32_t thread_index = UINT32_MAX;
> 
> diff  --git a/lldb/source/Commands/CommandObjectExpression.cpp b/lldb/source/Commands/CommandObjectExpression.cpp
> index b01e39f4ce3c..ca455501f3ae 100644
> --- a/lldb/source/Commands/CommandObjectExpression.cpp
> +++ b/lldb/source/Commands/CommandObjectExpression.cpp
> @@ -477,7 +477,7 @@ void CommandObjectExpression::IOHandlerInputComplete(IOHandler &io_handler,
>   
>     CommandReturnObject return_obj(
>         GetCommandInterpreter().GetDebugger().GetUseColor());
> -  EvaluateExpression(line.c_str(), *output_sp, *error_sp, return_obj);
> +  EvaluateExpression(line, *output_sp, *error_sp, return_obj);
>     if (output_sp)
>       output_sp->Flush();
>     if (error_sp)
> 
> diff  --git a/lldb/source/Commands/CommandObjectHelp.cpp b/lldb/source/Commands/CommandObjectHelp.cpp
> index c7a3bce1408b..da5dae7d7221 100644
> --- a/lldb/source/Commands/CommandObjectHelp.cpp
> +++ b/lldb/source/Commands/CommandObjectHelp.cpp
> @@ -145,15 +145,15 @@ bool CommandObjectHelp::DoExecute(Args &command, CommandReturnObject &result) {
>             return false;
>           } else if (!sub_cmd_obj) {
>             StreamString error_msg_stream;
> -          GenerateAdditionalHelpAvenuesMessage(
> -              &error_msg_stream, cmd_string.c_str(),
> -              m_interpreter.GetCommandPrefix(), sub_command.c_str());
> +          GenerateAdditionalHelpAvenuesMessage(&error_msg_stream, cmd_string,
> +                                               m_interpreter.GetCommandPrefix(),
> +                                               sub_command);
>             result.AppendError(error_msg_stream.GetString());
>             return false;
>           } else {
>             GenerateAdditionalHelpAvenuesMessage(
> -              &result.GetOutputStream(), cmd_string.c_str(),
> -              m_interpreter.GetCommandPrefix(), sub_command.c_str());
> +              &result.GetOutputStream(), cmd_string,
> +              m_interpreter.GetCommandPrefix(), sub_command);
>             result.GetOutputStream().Printf(
>                 "\nThe closest match is '%s'. Help on it follows.\n\n",
>                 sub_cmd_obj->GetCommandName().str().c_str());
> 
> diff  --git a/lldb/source/Commands/CommandObjectMultiword.cpp b/lldb/source/Commands/CommandObjectMultiword.cpp
> index 8a815e46ffd2..48fa86194469 100644
> --- a/lldb/source/Commands/CommandObjectMultiword.cpp
> +++ b/lldb/source/Commands/CommandObjectMultiword.cpp
> @@ -217,7 +217,7 @@ bool CommandObjectMultiword::Execute(const char *args_string,
>       }
>     }
>     error_msg.append("\n");
> -  result.AppendRawError(error_msg.c_str());
> +  result.AppendRawError(error_msg);
>     return false;
>   }
>   
> 
> diff  --git a/lldb/source/Commands/CommandObjectTarget.cpp b/lldb/source/Commands/CommandObjectTarget.cpp
> index 86fd994ebb12..9f5c2b3859e4 100644
> --- a/lldb/source/Commands/CommandObjectTarget.cpp
> +++ b/lldb/source/Commands/CommandObjectTarget.cpp
> @@ -390,7 +390,7 @@ class CommandObjectTargetCreate : public CommandObjectParsed {
>               module_sp->SetSymbolFileFileSpec(symfile);
>             if (remote_file) {
>               std::string remote_path = remote_file.GetPath();
> -            target_sp->SetArg0(remote_path.c_str());
> +            target_sp->SetArg0(remote_path);
>               module_sp->SetPlatformFileSpec(remote_file);
>             }
>           }
> 
> diff  --git a/lldb/source/Commands/CommandObjectThread.cpp b/lldb/source/Commands/CommandObjectThread.cpp
> index 47ae5968748c..57b56717cde3 100644
> --- a/lldb/source/Commands/CommandObjectThread.cpp
> +++ b/lldb/source/Commands/CommandObjectThread.cpp
> @@ -1710,7 +1710,7 @@ class CommandObjectThreadJump : public CommandObjectParsed {
>         }
>   
>         if (!warnings.empty())
> -        result.AppendWarning(warnings.c_str());
> +        result.AppendWarning(warnings);
>       }
>   
>       result.SetStatus(eReturnStatusSuccessFinishResult);
> 
> diff  --git a/lldb/source/Core/Disassembler.cpp b/lldb/source/Core/Disassembler.cpp
> index cc354636987c..9bf1f8b73643 100644
> --- a/lldb/source/Core/Disassembler.cpp
> +++ b/lldb/source/Core/Disassembler.cpp
> @@ -1129,7 +1129,7 @@ Disassembler::Disassembler(const ArchSpec &arch, const char *flavor)
>         thumb_arch_name.erase(0, 3);
>         thumb_arch_name.insert(0, "thumb");
>       }
> -    m_arch.SetTriple(thumb_arch_name.c_str());
> +    m_arch.SetTriple(thumb_arch_name);
>     }
>   }
>   
> 
> diff  --git a/lldb/source/Core/FormatEntity.cpp b/lldb/source/Core/FormatEntity.cpp
> index c5cad95ecafe..22441ea97826 100644
> --- a/lldb/source/Core/FormatEntity.cpp
> +++ b/lldb/source/Core/FormatEntity.cpp
> @@ -629,9 +629,9 @@ static ValueObjectSP ExpandIndexedExpression(ValueObject *valobj, size_t index,
>     ValueObject::ExpressionPathAftermath what_next =
>         (deref_pointer ? ValueObject::eExpressionPathAftermathDereference
>                        : ValueObject::eExpressionPathAftermathNothing);
> -  ValueObjectSP item = valobj->GetValueForExpressionPath(
> -      ptr_deref_buffer.c_str(), &reason_to_stop, &final_value_type, options,
> -      &what_next);
> +  ValueObjectSP item =
> +      valobj->GetValueForExpressionPath(ptr_deref_buffer, &reason_to_stop,
> +                                        &final_value_type, options, &what_next);
>     if (!item) {
>       LLDB_LOGF(log,
>                 "[ExpandIndexedExpression] ERROR: why stopping = %d,"
> @@ -765,7 +765,7 @@ static bool DumpValue(Stream &s, const SymbolContext *sc,
>   
>       target =
>           valobj
> -            ->GetValueForExpressionPath(expr_path.c_str(), &reason_to_stop,
> +            ->GetValueForExpressionPath(expr_path, &reason_to_stop,
>                                           &final_value_type, options, &what_next)
>               .get();
>   
> 
> diff  --git a/lldb/source/Core/IOHandlerCursesGUI.cpp b/lldb/source/Core/IOHandlerCursesGUI.cpp
> index 5138f079e3bb..d07357dac2af 100644
> --- a/lldb/source/Core/IOHandlerCursesGUI.cpp
> +++ b/lldb/source/Core/IOHandlerCursesGUI.cpp
> @@ -3838,7 +3838,7 @@ class CommonCompletionSearcherDelegate : public SearcherDelegate {
>   
>     void UpdateMatches(const std::string &text) override {
>       CompletionResult result;
> -    CompletionRequest request(text.c_str(), text.size(), result);
> +    CompletionRequest request(text, text.size(), result);
>       CommandCompletions::InvokeCommonCompletionCallbacks(
>           m_debugger.GetCommandInterpreter(), m_completion_mask, request,
>           nullptr);
> 
> diff  --git a/lldb/source/Expression/REPL.cpp b/lldb/source/Expression/REPL.cpp
> index ae80f9ad97dc..769755e43750 100644
> --- a/lldb/source/Expression/REPL.cpp
> +++ b/lldb/source/Expression/REPL.cpp
> @@ -336,10 +336,9 @@ void REPL::IOHandlerInputComplete(IOHandler &io_handler, std::string &code) {
>         const char *expr_prefix = nullptr;
>         lldb::ValueObjectSP result_valobj_sp;
>         Status error;
> -      lldb::ExpressionResults execution_results =
> -          UserExpression::Evaluate(exe_ctx, expr_options, code.c_str(),
> -                                   expr_prefix, result_valobj_sp, error,
> -                                   nullptr); // fixed expression
> +      lldb::ExpressionResults execution_results = UserExpression::Evaluate(
> +          exe_ctx, expr_options, code, expr_prefix, result_valobj_sp, error,
> +          nullptr); // fixed expression
>   
>         // CommandInterpreter &ci = debugger.GetCommandInterpreter();
>   
> 
> diff  --git a/lldb/source/Interpreter/CommandInterpreter.cpp b/lldb/source/Interpreter/CommandInterpreter.cpp
> index 4aee2e48a13c..49c93a79ed5b 100644
> --- a/lldb/source/Interpreter/CommandInterpreter.cpp
> +++ b/lldb/source/Interpreter/CommandInterpreter.cpp
> @@ -1501,8 +1501,7 @@ CommandObject *CommandInterpreter::GetCommandObjectForCommand(
>         else if (cmd_obj->IsMultiwordObject()) {
>           // Our current object is a multi-word object; see if the cmd_word is a
>           // valid sub-command for our object.
> -        CommandObject *sub_cmd_obj =
> -            cmd_obj->GetSubcommandObject(cmd_word.c_str());
> +        CommandObject *sub_cmd_obj = cmd_obj->GetSubcommandObject(cmd_word);
>           if (sub_cmd_obj)
>             cmd_obj = sub_cmd_obj;
>           else // cmd_word was not a valid sub-command word, so we are done
> @@ -1766,9 +1765,8 @@ Status CommandInterpreter::PreprocessCommand(std::string &command) {
>       options.SetTryAllThreads(true);
>       options.SetTimeout(std::nullopt);
>   
> -    ExpressionResults expr_result =
> -        target.EvaluateExpression(expr_str.c_str(), exe_ctx.GetFramePtr(),
> -                                  expr_result_valobj_sp, options);
> +    ExpressionResults expr_result = target.EvaluateExpression(
> +        expr_str, exe_ctx.GetFramePtr(), expr_result_valobj_sp, options);
>   
>       if (expr_result == eExpressionCompleted) {
>         Scalar scalar;
> @@ -3410,8 +3408,7 @@ CommandInterpreter::ResolveCommandImpl(std::string &command_line,
>         }
>       } else {
>         if (cmd_obj->IsMultiwordObject()) {
> -        CommandObject *sub_cmd_obj =
> -            cmd_obj->GetSubcommandObject(next_word.c_str());
> +        CommandObject *sub_cmd_obj = cmd_obj->GetSubcommandObject(next_word);
>           if (sub_cmd_obj) {
>             // The subcommand's name includes the parent command's name, so
>             // restart rather than append to the revised_command_line.
> 
> diff  --git a/lldb/source/Interpreter/OptionArgParser.cpp b/lldb/source/Interpreter/OptionArgParser.cpp
> index 93b01abde4bb..ccca8f7a54b4 100644
> --- a/lldb/source/Interpreter/OptionArgParser.cpp
> +++ b/lldb/source/Interpreter/OptionArgParser.cpp
> @@ -222,7 +222,7 @@ lldb::addr_t OptionArgParser::ToAddress(const ExecutionContext *exe_ctx,
>         std::string str_offset = matches[3].str();
>         if (!llvm::StringRef(str_offset).getAsInteger(0, offset)) {
>           Status error;
> -        addr = ToAddress(exe_ctx, name.c_str(), LLDB_INVALID_ADDRESS, &error);
> +        addr = ToAddress(exe_ctx, name, LLDB_INVALID_ADDRESS, &error);
>           if (addr != LLDB_INVALID_ADDRESS) {
>             if (sign[0] == '+')
>               return addr + offset;
> 
> diff  --git a/lldb/source/Interpreter/OptionValueArch.cpp b/lldb/source/Interpreter/OptionValueArch.cpp
> index 4d1e2c7869f3..07e61d60047a 100644
> --- a/lldb/source/Interpreter/OptionValueArch.cpp
> +++ b/lldb/source/Interpreter/OptionValueArch.cpp
> @@ -45,7 +45,7 @@ Status OptionValueArch::SetValueFromString(llvm::StringRef value,
>     case eVarSetOperationReplace:
>     case eVarSetOperationAssign: {
>       std::string value_str = value.trim().str();
> -    if (m_current_value.SetTriple(value_str.c_str())) {
> +    if (m_current_value.SetTriple(value_str)) {
>         m_value_was_set = true;
>         NotifyValueChanged();
>       } else
> 
> diff  --git a/lldb/source/Interpreter/ScriptInterpreter.cpp b/lldb/source/Interpreter/ScriptInterpreter.cpp
> index 082075554562..9572176fdf7b 100644
> --- a/lldb/source/Interpreter/ScriptInterpreter.cpp
> +++ b/lldb/source/Interpreter/ScriptInterpreter.cpp
> @@ -82,7 +82,7 @@ ScriptInterpreter::GetDataExtractorFromSBData(const lldb::SBData &data) const {
>   Status
>   ScriptInterpreter::GetStatusFromSBError(const lldb::SBError &error) const {
>     if (error.m_opaque_up)
> -    return *error.m_opaque_up.get();
> +    return *error.m_opaque_up;
>   
>     return Status();
>   }
> 
> diff  --git a/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp b/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
> index 09dd94d9186d..9c635c04eb1e 100644
> --- a/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
> +++ b/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
> @@ -644,7 +644,7 @@ bool DynamicLoaderDarwinKernel::KextImageInfo::ReadMemoryModule(
>     if (m_load_address == LLDB_INVALID_ADDRESS)
>       return false;
>   
> -  FileSpec file_spec(m_name.c_str());
> +  FileSpec file_spec(m_name);
>   
>     llvm::MachO::mach_header mh;
>     size_t size_to_read = 512;
> @@ -785,7 +785,7 @@ bool DynamicLoaderDarwinKernel::KextImageInfo::LoadImageUsingMemoryModule(
>               PlatformDarwinKernel::GetPluginNameStatic());
>           if (platform_sp->GetPluginName() == g_platform_name.GetStringRef()) {
>             ModuleSpec kext_bundle_module_spec(module_spec);
> -          FileSpec kext_filespec(m_name.c_str());
> +          FileSpec kext_filespec(m_name);
>             FileSpecList search_paths = target.GetExecutableSearchPaths();
>             kext_bundle_module_spec.GetFileSpec() = kext_filespec;
>             platform_sp->GetSharedModule(kext_bundle_module_spec, process,
> 
> diff  --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp
> index 5f7bb1262f8c..cba819188790 100644
> --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp
> +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp
> @@ -116,7 +116,7 @@ std::shared_ptr<ClangModulesDeclVendor>
>   ClangPersistentVariables::GetClangModulesDeclVendor() {
>     if (!m_modules_decl_vendor_sp) {
>       m_modules_decl_vendor_sp.reset(
> -        ClangModulesDeclVendor::Create(*m_target_sp.get()));
> +        ClangModulesDeclVendor::Create(*m_target_sp));
>     }
>     return m_modules_decl_vendor_sp;
>   }
> 
> diff  --git a/lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.cpp b/lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.cpp
> index a67cc8e10c17..f5f9a40bb5a3 100644
> --- a/lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.cpp
> +++ b/lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.cpp
> @@ -117,7 +117,7 @@ clang::NamedDecl *NameSearchContext::AddFunDecl(const CompilerType &type,
>     // will crash in clang.
>     clang::OverloadedOperatorKind op_kind = clang::NUM_OVERLOADED_OPERATORS;
>     if (func_proto_type &&
> -      TypeSystemClang::IsOperator(decl_name.getAsString().c_str(), op_kind)) {
> +      TypeSystemClang::IsOperator(decl_name.getAsString(), op_kind)) {
>       if (!TypeSystemClang::CheckOverloadedOperatorKindParameterCount(
>               false, op_kind, func_proto_type->getNumParams()))
>         return nullptr;
> 
> diff  --git a/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp b/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
> index 425b0baa453f..77d74023e717 100644
> --- a/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
> +++ b/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
> @@ -211,7 +211,7 @@ CreateStackTrace(ValueObjectSP o,
>                    const std::string &trace_item_name = ".trace") {
>     auto trace_sp = std::make_shared<StructuredData::Array>();
>     ValueObjectSP trace_value_object =
> -      o->GetValueForExpressionPath(trace_item_name.c_str());
> +      o->GetValueForExpressionPath(trace_item_name);
>     size_t count = trace_value_object->GetNumChildren();
>     for (size_t j = 0; j < count; j++) {
>       addr_t trace_addr =
> @@ -230,11 +230,10 @@ static StructuredData::ArraySP ConvertToStructuredArray(
>                          const StructuredData::DictionarySP &dict)> const
>           &callback) {
>     auto array_sp = std::make_shared<StructuredData::Array>();
> -  unsigned int count =
> -      return_value_sp->GetValueForExpressionPath(count_name.c_str())
> -          ->GetValueAsUnsigned(0);
> +  unsigned int count = return_value_sp->GetValueForExpressionPath(count_name)
> +                           ->GetValueAsUnsigned(0);
>     ValueObjectSP objects =
> -      return_value_sp->GetValueForExpressionPath(items_name.c_str());
> +      return_value_sp->GetValueForExpressionPath(items_name);
>     for (unsigned int i = 0; i < count; i++) {
>       ValueObjectSP o = objects->GetChildAtIndex(i, true);
>       auto dict_sp = std::make_shared<StructuredData::Dictionary>();
> @@ -249,9 +248,8 @@ static StructuredData::ArraySP ConvertToStructuredArray(
>   static std::string RetrieveString(ValueObjectSP return_value_sp,
>                                     ProcessSP process_sp,
>                                     const std::string &expression_path) {
> -  addr_t ptr =
> -      return_value_sp->GetValueForExpressionPath(expression_path.c_str())
> -          ->GetValueAsUnsigned(0);
> +  addr_t ptr = return_value_sp->GetValueForExpressionPath(expression_path)
> +                   ->GetValueAsUnsigned(0);
>     std::string str;
>     Status error;
>     process_sp->ReadCStringFromMemory(ptr, str, error);
> 
> diff  --git a/lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp b/lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
> index 7ea8b4697d20..66569e9d4669 100644
> --- a/lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
> +++ b/lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
> @@ -88,7 +88,7 @@ t;
>   static addr_t RetrieveUnsigned(ValueObjectSP return_value_sp,
>                                  ProcessSP process_sp,
>                                  const std::string &expression_path) {
> -  return return_value_sp->GetValueForExpressionPath(expression_path.c_str())
> +  return return_value_sp->GetValueForExpressionPath(expression_path)
>         ->GetValueAsUnsigned(0);
>   }
>   
> 
> diff  --git a/lldb/source/Plugins/Language/ObjC/Cocoa.cpp b/lldb/source/Plugins/Language/ObjC/Cocoa.cpp
> index 46f82daaff8d..8d2c84d94a97 100644
> --- a/lldb/source/Plugins/Language/ObjC/Cocoa.cpp
> +++ b/lldb/source/Plugins/Language/ObjC/Cocoa.cpp
> @@ -381,12 +381,12 @@ static void NSNumber_FormatInt128(ValueObject &valobj, Stream &stream,
>       }
>     }
>   
> -  stream.PutCString(prefix.c_str());
> +  stream.PutCString(prefix);
>     const int radix = 10;
>     const bool isSigned = true;
>     std::string str = llvm::toString(value, radix, isSigned);
> -  stream.PutCString(str.c_str());
> -  stream.PutCString(suffix.c_str());
> +  stream.PutCString(str);
> +  stream.PutCString(suffix);
>   }
>   
>   static void NSNumber_FormatFloat(ValueObject &valobj, Stream &stream,
> 
> diff  --git a/lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp b/lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
> index aaead88369b2..ed815aa9e709 100644
> --- a/lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
> +++ b/lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
> @@ -101,9 +101,8 @@ static void CreateHistoryThreadFromValueObject(ProcessSP process_sp,
>     std::string trace_path = "." + std::string(type) + "_trace";
>   
>     ValueObjectSP count_sp =
> -      return_value_sp->GetValueForExpressionPath(count_path.c_str());
> -  ValueObjectSP tid_sp =
> -      return_value_sp->GetValueForExpressionPath(tid_path.c_str());
> +      return_value_sp->GetValueForExpressionPath(count_path);
> +  ValueObjectSP tid_sp = return_value_sp->GetValueForExpressionPath(tid_path);
>   
>     if (!count_sp || !tid_sp)
>       return;
> @@ -115,7 +114,7 @@ static void CreateHistoryThreadFromValueObject(ProcessSP process_sp,
>       return;
>   
>     ValueObjectSP trace_sp =
> -      return_value_sp->GetValueForExpressionPath(trace_path.c_str());
> +      return_value_sp->GetValueForExpressionPath(trace_path);
>   
>     if (!trace_sp)
>       return;
> 
> diff  --git a/lldb/source/Plugins/Platform/Android/AdbClient.cpp b/lldb/source/Plugins/Platform/Android/AdbClient.cpp
> index 9af921f4843c..083023231e3d 100644
> --- a/lldb/source/Plugins/Platform/Android/AdbClient.cpp
> +++ b/lldb/source/Plugins/Platform/Android/AdbClient.cpp
> @@ -134,7 +134,7 @@ Status AdbClient::Connect() {
>       port = env_port;
>     }
>     std::string uri = "connect://127.0.0.1:" + port;
> -  m_conn->Connect(uri.c_str(), &error);
> +  m_conn->Connect(uri, &error);
>   
>     return error;
>   }
> @@ -304,8 +304,7 @@ Status AdbClient::GetResponseError(const char *response_id) {
>     std::vector<char> error_message;
>     auto error = ReadMessage(error_message);
>     if (error.Success())
> -    error.SetErrorString(
> -        std::string(&error_message[0], error_message.size()).c_str());
> +    error.SetErrorString(std::string(&error_message[0], error_message.size()));
>   
>     return error;
>   }
> 
> diff  --git a/lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp b/lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp
> index 7c694390b726..45ba1f9cd9fc 100644
> --- a/lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp
> +++ b/lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp
> @@ -95,8 +95,8 @@ bool PlatformAndroidRemoteGDBServer::LaunchGDBServer(lldb::pid_t &pid,
>     if (gdbstub_port)
>       local_port = std::stoi(gdbstub_port);
>   
> -  auto error = MakeConnectURL(pid, local_port, remote_port, socket_name.c_str(),
> -                              connect_url);
> +  auto error =
> +      MakeConnectURL(pid, local_port, remote_port, socket_name, connect_url);
>     if (error.Success() && log)
>       LLDB_LOGF(log, "gdbserver connect URL: %s", connect_url.c_str());
>   
> 
> diff  --git a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
> index f4f866b724d6..fe63a436cdae 100644
> --- a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
> +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
> @@ -86,7 +86,7 @@ bool PlatformDarwinDevice::UpdateSDKDirectoryInfosIfNeeded() {
>         llvm::StringRef dirname = GetDeviceSupportDirectoryName();
>         std::string local_sdk_cache_str = "~/Library/Developer/Xcode/";
>         local_sdk_cache_str += std::string(dirname);
> -      FileSpec local_sdk_cache(local_sdk_cache_str.c_str());
> +      FileSpec local_sdk_cache(local_sdk_cache_str);
>         FileSystem::Instance().Resolve(local_sdk_cache);
>         if (FileSystem::Instance().Exists(local_sdk_cache)) {
>           if (log) {
> @@ -231,7 +231,7 @@ const char *PlatformDarwinDevice::GetDeviceSupportDirectory() {
>     if (m_device_support_directory.empty()) {
>       if (FileSpec fspec = HostInfo::GetXcodeDeveloperDirectory()) {
>         m_device_support_directory = fspec.GetPath();
> -      m_device_support_directory.append(platform_dir.c_str());
> +      m_device_support_directory.append(platform_dir);
>       } else {
>         // Assign a single NULL character so we know we tried to find the device
>         // support directory and we don't keep trying to find it over and over.
> 
> diff  --git a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
> index 3c9cc8e77189..7561afe5feb6 100644
> --- a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
> +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
> @@ -411,7 +411,7 @@ void PlatformDarwinKernel::AddSDKSubdirsToSearchPaths(const std::string &dir) {
>     const bool find_files = false;
>     const bool find_other = false;
>     FileSystem::Instance().EnumerateDirectory(
> -      dir.c_str(), find_directories, find_files, find_other,
> +      dir, find_directories, find_files, find_other,
>         FindKDKandSDKDirectoriesInDirectory, this);
>   }
>   
> @@ -442,7 +442,7 @@ void PlatformDarwinKernel::SearchForKextsAndKernelsRecursively() {
>       const bool find_files = true;
>       const bool find_other = true; // I think eFileTypeSymbolicLink are "other"s.
>       FileSystem::Instance().EnumerateDirectory(
> -        dir.GetPath().c_str(), find_directories, find_files, find_other,
> +        dir.GetPath(), find_directories, find_files, find_other,
>           GetKernelsAndKextsInDirectoryWithRecursion, this);
>     }
>     const uint32_t num_dirs_no_recurse = m_search_directories_no_recursing.size();
> @@ -452,7 +452,7 @@ void PlatformDarwinKernel::SearchForKextsAndKernelsRecursively() {
>       const bool find_files = true;
>       const bool find_other = true; // I think eFileTypeSymbolicLink are "other"s.
>       FileSystem::Instance().EnumerateDirectory(
> -        dir.GetPath().c_str(), find_directories, find_files, find_other,
> +        dir.GetPath(), find_directories, find_files, find_other,
>           GetKernelsAndKextsInDirectoryNoRecursion, this);
>     }
>   }
> @@ -545,7 +545,7 @@ PlatformDarwinKernel::GetKernelsAndKextsInDirectoryHelper(
>             const bool find_files = false;
>             const bool find_other = false;
>             FileSystem::Instance().EnumerateDirectory(
> -              search_here_too.c_str(), find_directories, find_files, find_other,
> +              search_here_too, find_directories, find_files, find_other,
>                 recurse ? GetKernelsAndKextsInDirectoryWithRecursion
>                         : GetKernelsAndKextsInDirectoryNoRecursion,
>                 baton);
> @@ -874,8 +874,7 @@ std::vector<lldb_private::FileSpec>
>   PlatformDarwinKernel::SearchForExecutablesRecursively(const std::string &dir) {
>     std::vector<FileSpec> executables;
>     std::error_code EC;
> -  for (llvm::sys::fs::recursive_directory_iterator it(dir.c_str(), EC),
> -       end;
> +  for (llvm::sys::fs::recursive_directory_iterator it(dir, EC), end;
>          it != end && !EC; it.increment(EC)) {
>       auto status = it->status();
>       if (!status)
> 
> diff  --git a/lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h b/lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h
> index a35efd53f313..5d56d6af1a84 100644
> --- a/lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h
> +++ b/lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h
> @@ -60,7 +60,7 @@ class ModelIdentifier {
>   
>     unsigned int GetVersionAtIndex(size_t idx) const { return m_versions[idx]; }
>   
> -  std::string GetFamily() const { return m_family.c_str(); }
> +  std::string GetFamily() const { return m_family; }
>   
>   private:
>     std::string m_family;
> 
> diff  --git a/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp b/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
> index 780f51cc18c2..24d859f13ce0 100644
> --- a/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
> +++ b/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
> @@ -87,7 +87,7 @@ llvm::StringRef PlatformRemoteGDBServer::GetDescription() {
>     }
>   
>     if (!m_platform_description.empty())
> -    return m_platform_description.c_str();
> +    return m_platform_description;
>     return GetDescriptionStatic();
>   }
>   
> @@ -423,10 +423,10 @@ PlatformRemoteGDBServer::DebugProcess(ProcessLaunchInfo &launch_info,
>           if (process_sp) {
>             process_sp->HijackProcessEvents(launch_info.GetHijackListener());
>   
> -          error = process_sp->ConnectRemote(connect_url.c_str());
> +          error = process_sp->ConnectRemote(connect_url);
>             // Retry the connect remote one time...
>             if (error.Fail())
> -            error = process_sp->ConnectRemote(connect_url.c_str());
> +            error = process_sp->ConnectRemote(connect_url);
>             if (error.Success())
>               error = process_sp->Launch(launch_info);
>             else if (debugserver_pid != LLDB_INVALID_PROCESS_ID) {
> @@ -509,7 +509,7 @@ lldb::ProcessSP PlatformRemoteGDBServer::Attach(
>                 target->CreateProcess(attach_info.GetListenerForProcess(debugger),
>                                       "gdb-remote", nullptr, true);
>             if (process_sp) {
> -            error = process_sp->ConnectRemote(connect_url.c_str());
> +            error = process_sp->ConnectRemote(connect_url);
>               if (error.Success()) {
>                 ListenerSP listener_sp = attach_info.GetHijackListener();
>                 if (listener_sp)
> @@ -794,7 +794,7 @@ size_t PlatformRemoteGDBServer::ConnectToWaitingProcesses(Debugger &debugger,
>     GetPendingGdbServerList(connection_urls);
>   
>     for (size_t i = 0; i < connection_urls.size(); ++i) {
> -    ConnectProcess(connection_urls[i].c_str(), "gdb-remote", debugger, nullptr, error);
> +    ConnectProcess(connection_urls[i], "gdb-remote", debugger, nullptr, error);
>       if (error.Fail())
>         return i; // We already connected to i process successfully
>     }
> 
> diff  --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
> index 7daf003fec7b..2d83a71ba044 100644
> --- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
> +++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
> @@ -869,7 +869,7 @@ lldb::thread_result_t GDBRemoteCommunication::ListenThread() {
>     if (connection) {
>       // Do the listen on another thread so we can continue on...
>       if (connection->Connect(
> -            m_listen_url.c_str(),
> +            m_listen_url,
>               [this](llvm::StringRef port_str) {
>                 uint16_t port = 0;
>                 llvm::to_integer(port_str, port, 10);
> 
> diff  --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
> index 29e9620eb433..bcc23d30143f 100644
> --- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
> +++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
> @@ -1333,7 +1333,7 @@ bool GDBRemoteCommunicationClient::GetHostInfo(bool force) {
>                 else
>                   triple += os_name;
>               }
> -            m_host_arch.SetTriple(triple.c_str());
> +            m_host_arch.SetTriple(triple);
>   
>               llvm::Triple &host_triple = m_host_arch.GetTriple();
>               if (host_triple.getVendor() == llvm::Triple::Apple &&
> @@ -1358,7 +1358,7 @@ bool GDBRemoteCommunicationClient::GetHostInfo(bool force) {
>               }
>             }
>           } else {
> -          m_host_arch.SetTriple(triple.c_str());
> +          m_host_arch.SetTriple(triple);
>             if (pointer_byte_size) {
>               assert(pointer_byte_size == m_host_arch.GetAddressByteSize());
>             }
> @@ -1615,7 +1615,7 @@ Status GDBRemoteCommunicationClient::GetMemoryRegionInfo(
>             std::string error_string;
>             // Now convert the HEX bytes into a string value
>             error_extractor.GetHexByteString(error_string);
> -          error.SetErrorString(error_string.c_str());
> +          error.SetErrorString(error_string);
>           } else if (name.equals("dirty-pages")) {
>             std::vector<addr_t> dirty_page_list;
>             for (llvm::StringRef x : llvm::split(value, ',')) {
> @@ -2023,7 +2023,7 @@ bool GDBRemoteCommunicationClient::DecodeProcessInfoResponse(
>           StringExtractor extractor(value);
>           std::string triple;
>           extractor.GetHexByteString(triple);
> -        process_info.GetArchitecture().SetTriple(triple.c_str());
> +        process_info.GetArchitecture().SetTriple(triple);
>         } else if (name.equals("name")) {
>           StringExtractor extractor(value);
>           // The process name from ASCII hex bytes since we can't control the
> @@ -2205,7 +2205,7 @@ bool GDBRemoteCommunicationClient::GetCurrentProcessInfo(bool allow_lazy) {
>   
>         // Set the ArchSpec from the triple if we have it.
>         if (!triple.empty()) {
> -        m_process_arch.SetTriple(triple.c_str());
> +        m_process_arch.SetTriple(triple);
>           m_process_arch.SetFlags(elf_abi);
>           if (pointer_byte_size) {
>             assert(pointer_byte_size == m_process_arch.GetAddressByteSize());
> @@ -3805,7 +3805,7 @@ bool GDBRemoteCommunicationClient::GetModuleInfo(
>         StringExtractor extractor(value);
>         std::string triple;
>         extractor.GetHexByteString(triple);
> -      module_spec.GetArchitecture().SetTriple(triple.c_str());
> +      module_spec.GetArchitecture().SetTriple(triple);
>       } else if (name == "file_offset") {
>         uint64_t ival = 0;
>         if (!value.getAsInteger(16, ival))
> 
> diff  --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
> index c2c01d1e4605..e6fece130f90 100644
> --- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
> +++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
> @@ -747,9 +747,8 @@ GDBRemoteCommunicationServerCommon::Handle_qPlatform_shell(
>         std::string output;
>         FileSpec working_spec(working_dir);
>         FileSystem::Instance().Resolve(working_spec);
> -      Status err =
> -          Host::RunShellCommand(path.c_str(), working_spec, &status, &signo,
> -                                &output, std::chrono::seconds(10));
> +      Status err = Host::RunShellCommand(path, working_spec, &status, &signo,
> +                                         &output, std::chrono::seconds(10));
>         StreamGDBRemote response;
>         if (err.Fail()) {
>           response.PutCString("F,");
> @@ -1136,8 +1135,7 @@ GDBRemoteCommunicationServerCommon::Handle_qModuleInfo(
>     response.PutChar(';');
>   
>     response.PutCString("file_path:");
> -  response.PutStringAsRawHex8(
> -        matched_module_spec.GetFileSpec().GetPath().c_str());
> +  response.PutStringAsRawHex8(matched_module_spec.GetFileSpec().GetPath());
>     response.PutChar(';');
>     response.PutCString("file_offset:");
>     response.PutHex64(file_offset);
> @@ -1212,7 +1210,7 @@ void GDBRemoteCommunicationServerCommon::CreateProcessInfoResponse(
>         proc_info.GetUserID(), proc_info.GetGroupID(),
>         proc_info.GetEffectiveUserID(), proc_info.GetEffectiveGroupID());
>     response.PutCString("name:");
> -  response.PutStringAsRawHex8(proc_info.GetExecutableFile().GetPath().c_str());
> +  response.PutStringAsRawHex8(proc_info.GetExecutableFile().GetPath());
>   
>     response.PutChar(';');
>     response.PutCString("args:");
> 
> diff  --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
> index 13446d560d87..82401add3982 100644
> --- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
> +++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
> @@ -1501,7 +1501,7 @@ GDBRemoteCommunicationServerLLGS::Handle_qGetWorkingDir(
>     FileSpec working_dir{m_process_launch_info.GetWorkingDirectory()};
>     if (working_dir) {
>       StreamString response;
> -    response.PutStringAsRawHex8(working_dir.GetPath().c_str());
> +    response.PutStringAsRawHex8(working_dir.GetPath());
>       return SendPacketNoLock(response.GetString());
>     }
>   
> @@ -3197,7 +3197,7 @@ GDBRemoteCommunicationServerLLGS::ReadXferObject(llvm::StringRef object,
>       response.Printf("<library-list-svr4 version=\"1.0\">");
>       for (auto const &library : *library_list) {
>         response.Printf("<library name=\"%s\" ",
> -                      XMLEncodeAttributeValue(library.name.c_str()).c_str());
> +                      XMLEncodeAttributeValue(library.name).c_str());
>         response.Printf("lm=\"0x%" PRIx64 "\" ", library.link_map);
>         response.Printf("l_addr=\"0x%" PRIx64 "\" ", library.base_addr);
>         response.Printf("l_ld=\"0x%" PRIx64 "\" />", library.ld_addr);
> 
> diff  --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
> index 0c2e5237f600..f36733168cab 100644
> --- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
> +++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
> @@ -429,7 +429,7 @@ GDBRemoteCommunicationServerPlatform::Handle_qPathComplete(
>       separator = ",";
>       // encode result strings into hex bytes to avoid unexpected error caused by
>       // special characters like '$'.
> -    response.PutStringAsRawHex8(match.c_str());
> +    response.PutStringAsRawHex8(match);
>     }
>   
>     return SendPacketNoLock(response.GetString());
> @@ -586,8 +586,7 @@ GDBRemoteCommunicationServerPlatform::GetDomainSocketPath(const char *prefix) {
>     FileSpec socket_path_spec(GetDomainSocketDir());
>     socket_path_spec.AppendPathComponent(socket_name.c_str());
>   
> -  llvm::sys::fs::createUniqueFile(socket_path_spec.GetPath().c_str(),
> -                                  socket_path);
> +  llvm::sys::fs::createUniqueFile(socket_path_spec.GetPath(), socket_path);
>     return FileSpec(socket_path.c_str());
>   }
>   
> 
> diff  --git a/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp b/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
> index e31d8bb769f8..da4f3d6b900c 100644
> --- a/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
> +++ b/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
> @@ -104,7 +104,7 @@ ScriptedProcess::ScriptedProcess(
>     ExecutionContext exe_ctx(target_sp, /*get_process=*/false);
>   
>     StructuredData::GenericSP object_sp = GetInterface().CreatePluginObject(
> -      m_scripted_process_info.GetClassName().c_str(), exe_ctx,
> +      m_scripted_process_info.GetClassName(), exe_ctx,
>         m_scripted_process_info.GetArgsSP());
>   
>     if (!object_sp || !object_sp->IsValid()) {
> 
> diff  --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
> index cbe166281b4b..4d1a8f5c1290 100644
> --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
> +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
> @@ -459,8 +459,7 @@ Module *SymbolFileDWARFDebugMap::GetModuleByCompUnitInfo(
>                                ->GetArchitecture()
>                                .GetTriple()
>                                .getArchName()
> -                             .str()
> -                             .c_str());
> +                             .str());
>         comp_unit_info->oso_sp->module_sp = std::make_shared<DebugMapModule>(
>             obj_file->GetModule(), GetCompUnitInfoIndex(comp_unit_info), oso_file,
>             oso_arch, oso_object ? &oso_object : nullptr, 0,
> 
> diff  --git a/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp b/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
> index 6e6c0e8c90cb..c92de9b94ab2 100644
> --- a/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
> +++ b/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
> @@ -1442,7 +1442,7 @@ PDBASTParser::AddRecordMethod(lldb_private::SymbolFile &symbol_file,
>   
>     // TODO: get mangled name for the method.
>     return m_ast.AddMethodToCXXRecordType(
> -      record_type.GetOpaqueQualType(), name.c_str(),
> +      record_type.GetOpaqueQualType(), name,
>         /*mangled_name*/ nullptr, method_comp_type, access, method.isVirtual(),
>         method.isStatic(), method.hasInlineAttribute(),
>         /*is_explicit*/ false, // FIXME: Need this field in CodeView.
> 
> diff  --git a/lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp b/lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
> index 0adf204323b3..2d42e023133d 100644
> --- a/lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
> +++ b/lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
> @@ -246,7 +246,7 @@ SymbolVendorMacOSX::CreateInstance(const lldb::ModuleSP &module_sp,
>                                 // the full source path remap.
>                                 if (do_truncate_remapping_names) {
>                                   FileSpec build_path(key.AsCString());
> -                                FileSpec source_path(DBGSourcePath.c_str());
> +                                FileSpec source_path(DBGSourcePath);
>                                   build_path.RemoveLastPathComponent();
>                                   build_path.RemoveLastPathComponent();
>                                   source_path.RemoveLastPathComponent();
> 
> diff  --git a/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h b/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h
> index 796e7e50a8b9..d03a8ce4e924 100644
> --- a/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h
> +++ b/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h
> @@ -67,7 +67,7 @@ class UnwindAssemblyInstEmulation : public lldb_private::UnwindAssembly {
>           m_initial_sp(0), m_cfa_reg_info(), m_fp_is_cfa(false),
>           m_register_values(), m_pushed_regs(), m_curr_row_modified(false),
>           m_forward_branch_offset(0) {
> -    if (m_inst_emulator_up.get()) {
> +    if (m_inst_emulator_up) {
>         m_inst_emulator_up->SetBaton(this);
>         m_inst_emulator_up->SetCallbacks(ReadMemory, WriteMemory, ReadRegister,
>                                          WriteRegister);
> 
> diff  --git a/lldb/source/Symbol/LocateSymbolFileMacOSX.cpp b/lldb/source/Symbol/LocateSymbolFileMacOSX.cpp
> index 7d24905be350..498ed7618980 100644
> --- a/lldb/source/Symbol/LocateSymbolFileMacOSX.cpp
> +++ b/lldb/source/Symbol/LocateSymbolFileMacOSX.cpp
> @@ -350,7 +350,7 @@ static bool GetModuleSpecInfoFromUUIDDictionary(CFDictionaryRef uuid_dict,
>           (CFDictionaryRef)uuid_dict, CFSTR("DBGSymbolRichExecutable"));
>       if (cf_str && CFGetTypeID(cf_str) == CFStringGetTypeID()) {
>         if (CFCString::FileSystemRepresentation(cf_str, str)) {
> -        module_spec.GetFileSpec().SetFile(str.c_str(), FileSpec::Style::native);
> +        module_spec.GetFileSpec().SetFile(str, FileSpec::Style::native);
>           FileSystem::Instance().Resolve(module_spec.GetFileSpec());
>           LLDB_LOGF(log,
>                     "From dsymForUUID plist: Symbol rich executable is at '%s'",
> @@ -362,8 +362,7 @@ static bool GetModuleSpecInfoFromUUIDDictionary(CFDictionaryRef uuid_dict,
>                                                  CFSTR("DBGDSYMPath"));
>       if (cf_str && CFGetTypeID(cf_str) == CFStringGetTypeID()) {
>         if (CFCString::FileSystemRepresentation(cf_str, str)) {
> -        module_spec.GetSymbolFileSpec().SetFile(str.c_str(),
> -                                                FileSpec::Style::native);
> +        module_spec.GetSymbolFileSpec().SetFile(str, FileSpec::Style::native);
>           FileSystem::Instance().Resolve(module_spec.GetFileSpec());
>           success = true;
>           LLDB_LOGF(log, "From dsymForUUID plist: dSYM is at '%s'", str.c_str());
> @@ -434,7 +433,7 @@ static bool GetModuleSpecInfoFromUUIDDictionary(CFDictionaryRef uuid_dict,
>                 DBGSourcePath = original_DBGSourcePath_value;
>               }
>               if (DBGSourcePath[0] == '~') {
> -              FileSpec resolved_source_path(DBGSourcePath.c_str());
> +              FileSpec resolved_source_path(DBGSourcePath);
>                 FileSystem::Instance().Resolve(resolved_source_path);
>                 DBGSourcePath = resolved_source_path.GetPath();
>               }
> @@ -445,8 +444,8 @@ static bool GetModuleSpecInfoFromUUIDDictionary(CFDictionaryRef uuid_dict,
>               module_spec.GetSourceMappingList().Append(DBGBuildSourcePath,
>                                                         DBGSourcePath, true);
>               if (do_truncate_remapping_names) {
> -              FileSpec build_path(DBGBuildSourcePath.c_str());
> -              FileSpec source_path(DBGSourcePath.c_str());
> +              FileSpec build_path(DBGBuildSourcePath);
> +              FileSpec source_path(DBGSourcePath);
>                 build_path.RemoveLastPathComponent();
>                 build_path.RemoveLastPathComponent();
>                 source_path.RemoveLastPathComponent();
> @@ -480,7 +479,7 @@ static bool GetModuleSpecInfoFromUUIDDictionary(CFDictionaryRef uuid_dict,
>   
>       if (!DBGBuildSourcePath.empty() && !DBGSourcePath.empty()) {
>         if (DBGSourcePath[0] == '~') {
> -        FileSpec resolved_source_path(DBGSourcePath.c_str());
> +        FileSpec resolved_source_path(DBGSourcePath);
>           FileSystem::Instance().Resolve(resolved_source_path);
>           DBGSourcePath = resolved_source_path.GetPath();
>         }
> 
> diff  --git a/lldb/source/Target/LanguageRuntime.cpp b/lldb/source/Target/LanguageRuntime.cpp
> index ce3646c8b05c..4d905f443559 100644
> --- a/lldb/source/Target/LanguageRuntime.cpp
> +++ b/lldb/source/Target/LanguageRuntime.cpp
> @@ -300,7 +300,7 @@ void LanguageRuntime::InitializeCommands(CommandObject *parent) {
>           // and cached because we may create multiple debuggers and need one
>           // instance of the command each - the implementing function is meant to
>           // create a new instance of the command each time it is invoked.
> -        parent->LoadSubCommand(command->GetCommandName().str().c_str(), command);
> +        parent->LoadSubCommand(command->GetCommandName().str(), command);
>         }
>       }
>     }
> 
> diff  --git a/lldb/source/Target/TargetList.cpp b/lldb/source/Target/TargetList.cpp
> index 8ce2ae8c2898..012031baaea2 100644
> --- a/lldb/source/Target/TargetList.cpp
> +++ b/lldb/source/Target/TargetList.cpp
> @@ -351,7 +351,7 @@ Status TargetList::CreateTargetInternal(Debugger &debugger,
>         target_sp->SetArg0(resolved_bundle_exe_path);
>       } else {
>         // Use resolved path
> -      target_sp->SetArg0(file.GetPath().c_str());
> +      target_sp->SetArg0(file.GetPath());
>       }
>     }
>     if (file.GetDirectory()) {
> 
> diff  --git a/lldb/source/Target/Thread.cpp b/lldb/source/Target/Thread.cpp
> index 5b4c5db2d928..05c04e3cfddc 100644
> --- a/lldb/source/Target/Thread.cpp
> +++ b/lldb/source/Target/Thread.cpp
> @@ -1084,7 +1084,7 @@ ThreadPlanStack &Thread::GetPlans() const {
>     // queries GetDescription makes, and only assert if you try to run the thread.
>     if (!m_null_plan_stack_up)
>       m_null_plan_stack_up = std::make_unique<ThreadPlanStack>(*this, true);
> -  return *(m_null_plan_stack_up.get());
> +  return *(m_null_plan_stack_up);
>   }
>   
>   void Thread::PushPlan(ThreadPlanSP thread_plan_sp) {
> 
> diff  --git a/lldb/source/Target/ThreadPlanStack.cpp b/lldb/source/Target/ThreadPlanStack.cpp
> index ac7b44cef37d..157293142907 100644
> --- a/lldb/source/Target/ThreadPlanStack.cpp
> +++ b/lldb/source/Target/ThreadPlanStack.cpp
> @@ -406,7 +406,7 @@ void ThreadPlanStackMap::Update(ThreadList &current_threads,
>       for (auto thread : current_threads.Threads()) {
>         lldb::tid_t cur_tid = thread->GetID();
>         if (!Find(cur_tid)) {
> -        AddThread(*thread.get());
> +        AddThread(*thread);
>           thread->QueueBasePlan(true);
>         }
>       }
> 
> diff  --git a/lldb/tools/debugserver/source/DNBTimer.h b/lldb/tools/debugserver/source/DNBTimer.h
> index 2251c50fb876..7c01a69ae7cd 100644
> --- a/lldb/tools/debugserver/source/DNBTimer.h
> +++ b/lldb/tools/debugserver/source/DNBTimer.h
> @@ -47,7 +47,7 @@ class DNBTimer {
>   
>     ~DNBTimer() {}
>   
> -  bool IsThreadSafe() const { return m_mutexAP.get() != NULL; }
> +  bool IsThreadSafe() const { return m_mutexAP != NULL; }
>     // Reset the time value to now
>     void Reset() {
>       PTHREAD_MUTEX_LOCKER(locker, m_mutexAP.get());
> 
> diff  --git a/lldb/tools/lldb-vscode/BreakpointBase.cpp b/lldb/tools/lldb-vscode/BreakpointBase.cpp
> index 9ec392c9afe4..1dabe20a9f35 100644
> --- a/lldb/tools/lldb-vscode/BreakpointBase.cpp
> +++ b/lldb/tools/lldb-vscode/BreakpointBase.cpp
> @@ -304,7 +304,7 @@ bool BreakpointBase::BreakpointHitCallback(
>     }
>     if (!output.empty() && output.back() != '\n')
>       output.push_back('\n'); // Ensure log message has line break.
> -  g_vsc.SendOutput(OutputType::Console, output.c_str());
> +  g_vsc.SendOutput(OutputType::Console, output);
>   
>     // Do not stop.
>     return false;
> 
> 
>          
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at lists.llvm.org
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.llvm.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Flldb-commits&data=05%7C01%7CSTILIS%40microsoft.com%7Cbb5532e79e21420847da08dae0955e85%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638069229409870530%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=j7NU0ae9mrE9fmZ%2FgVjN9mzTy9gRbQDAXmivjGatfg4%3D&reserved=0
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits



More information about the lldb-commits mailing list