[Lldb-commits] [lldb] 58fe7b7 - [lldb] Change UnixSignals::GetSignalAsCString to GetSignalAsStringRef
Alex Langford via lldb-commits
lldb-commits at lists.llvm.org
Mon Aug 21 12:45:13 PDT 2023
Author: Alex Langford
Date: 2023-08-21T12:44:17-07:00
New Revision: 58fe7b751dc4a611a013a7708c1c0cac159b5f1e
URL: https://github.com/llvm/llvm-project/commit/58fe7b751dc4a611a013a7708c1c0cac159b5f1e
DIFF: https://github.com/llvm/llvm-project/commit/58fe7b751dc4a611a013a7708c1c0cac159b5f1e.diff
LOG: [lldb] Change UnixSignals::GetSignalAsCString to GetSignalAsStringRef
This is in preparation to remove the uses of ConstString from
UnixSignals.
Differential Revision: https://reviews.llvm.org/D158209
Added:
Modified:
lldb/include/lldb/Target/UnixSignals.h
lldb/source/API/SBUnixSignals.cpp
lldb/source/Commands/CommandObjectProcess.cpp
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
lldb/source/Target/Process.cpp
lldb/source/Target/StopInfo.cpp
lldb/source/Target/UnixSignals.cpp
lldb/unittests/Signals/UnixSignalsTest.cpp
Removed:
################################################################################
diff --git a/lldb/include/lldb/Target/UnixSignals.h b/lldb/include/lldb/Target/UnixSignals.h
index 7b6060b9343c82..550a56a00060f2 100644
--- a/lldb/include/lldb/Target/UnixSignals.h
+++ b/lldb/include/lldb/Target/UnixSignals.h
@@ -30,7 +30,7 @@ class UnixSignals {
virtual ~UnixSignals();
- const char *GetSignalAsCString(int32_t signo) const;
+ llvm::StringRef GetSignalAsStringRef(int32_t signo) const;
std::string
GetSignalDescription(int32_t signo,
diff --git a/lldb/source/API/SBUnixSignals.cpp b/lldb/source/API/SBUnixSignals.cpp
index 7cccbaff1d2fe1..519881b186e45d 100644
--- a/lldb/source/API/SBUnixSignals.cpp
+++ b/lldb/source/API/SBUnixSignals.cpp
@@ -66,7 +66,7 @@ const char *SBUnixSignals::GetSignalAsCString(int32_t signo) const {
LLDB_INSTRUMENT_VA(this, signo);
if (auto signals_sp = GetSP())
- return ConstString(signals_sp->GetSignalAsCString(signo)).GetCString();
+ return ConstString(signals_sp->GetSignalAsStringRef(signo)).GetCString();
return nullptr;
}
diff --git a/lldb/source/Commands/CommandObjectProcess.cpp b/lldb/source/Commands/CommandObjectProcess.cpp
index ab047ee926c992..cbf2652dae1ef1 100644
--- a/lldb/source/Commands/CommandObjectProcess.cpp
+++ b/lldb/source/Commands/CommandObjectProcess.cpp
@@ -1178,7 +1178,7 @@ class CommandObjectProcessSignal : public CommandObjectParsed {
UnixSignalsSP signals = m_exe_ctx.GetProcessPtr()->GetUnixSignals();
int signo = signals->GetFirstSignalNumber();
while (signo != LLDB_INVALID_SIGNAL_NUMBER) {
- request.TryCompleteCurrentArg(signals->GetSignalAsCString(signo));
+ request.TryCompleteCurrentArg(signals->GetSignalAsStringRef(signo));
signo = signals->GetNextSignalNumber(signo);
}
}
@@ -1635,13 +1635,13 @@ class CommandObjectProcessHandle : public CommandObjectParsed {
str.Printf("=========== ===== ===== ======\n");
}
- void PrintSignal(Stream &str, int32_t signo, const char *sig_name,
+ void PrintSignal(Stream &str, int32_t signo, llvm::StringRef sig_name,
const UnixSignalsSP &signals_sp) {
bool stop;
bool suppress;
bool notify;
- str.Printf("%-11s ", sig_name);
+ str.Format("{0, -11} ", sig_name);
if (signals_sp->GetSignalInfo(signo, suppress, stop, notify)) {
bool pass = !suppress;
str.Printf("%s %s %s", (pass ? "true " : "false"),
@@ -1668,7 +1668,7 @@ class CommandObjectProcessHandle : public CommandObjectParsed {
{
int32_t signo = signals_sp->GetFirstSignalNumber();
while (signo != LLDB_INVALID_SIGNAL_NUMBER) {
- PrintSignal(str, signo, signals_sp->GetSignalAsCString(signo),
+ PrintSignal(str, signo, signals_sp->GetSignalAsStringRef(signo),
signals_sp);
signo = signals_sp->GetNextSignalNumber(signo);
}
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
index 4ffa7faa49424d..391abdae27525f 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
@@ -500,7 +500,7 @@ GDBRemoteCommunicationServerPlatform::Handle_jSignalsInfo(
auto dictionary = std::make_shared<StructuredData::Dictionary>();
dictionary->AddIntegerItem("signo", signo);
- dictionary->AddStringItem("name", signals->GetSignalAsCString(signo));
+ dictionary->AddStringItem("name", signals->GetSignalAsStringRef(signo));
bool suppress, stop, notify;
signals->GetSignalInfo(signo, suppress, stop, notify);
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index 68c343903f3dc8..5391187a75a7a2 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -3384,10 +3384,10 @@ void ProcessGDBRemote::MonitorDebugserverProcess(
stream.Format(DEBUGSERVER_BASENAME " died with an exit status of {0:x8}",
exit_status);
else {
- const char *signal_name =
- process_sp->GetUnixSignals()->GetSignalAsCString(signo);
+ llvm::StringRef signal_name =
+ process_sp->GetUnixSignals()->GetSignalAsStringRef(signo);
const char *format_str = DEBUGSERVER_BASENAME " died with signal {0}";
- if (signal_name)
+ if (!signal_name.empty())
stream.Format(format_str, signal_name);
else
stream.Format(format_str, signo);
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index d76db377d3e900..57864a8a5da922 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -1125,11 +1125,9 @@ bool Process::SetProcessExitStatus(
if (target_sp) {
ProcessSP process_sp(target_sp->GetProcessSP());
if (process_sp) {
- const char *signal_cstr = nullptr;
- if (signo)
- signal_cstr = process_sp->GetUnixSignals()->GetSignalAsCString(signo);
-
- process_sp->SetExitStatus(exit_status, signal_cstr);
+ llvm::StringRef signal_str =
+ process_sp->GetUnixSignals()->GetSignalAsStringRef(signo);
+ process_sp->SetExitStatus(exit_status, signal_str);
}
}
return true;
diff --git a/lldb/source/Target/StopInfo.cpp b/lldb/source/Target/StopInfo.cpp
index efc8fd269ac29f..ff3d8f68833c82 100644
--- a/lldb/source/Target/StopInfo.cpp
+++ b/lldb/source/Target/StopInfo.cpp
@@ -1067,9 +1067,9 @@ class StopInfoUnixSignal : public StopInfo {
thread_sp->GetProcess()->GetUnixSignals()->GetShouldNotify(m_value);
if (should_notify) {
StreamString strm;
- strm.Printf(
- "thread %d received signal: %s", thread_sp->GetIndexID(),
- thread_sp->GetProcess()->GetUnixSignals()->GetSignalAsCString(
+ strm.Format(
+ "thread {0:d} received signal: {1}", thread_sp->GetIndexID(),
+ thread_sp->GetProcess()->GetUnixSignals()->GetSignalAsStringRef(
m_value));
Process::ProcessEventData::AddRestartedReason(event_ptr,
strm.GetData());
diff --git a/lldb/source/Target/UnixSignals.cpp b/lldb/source/Target/UnixSignals.cpp
index 0e738241b1c564..cf29f78c691c7d 100644
--- a/lldb/source/Target/UnixSignals.cpp
+++ b/lldb/source/Target/UnixSignals.cpp
@@ -131,12 +131,11 @@ void UnixSignals::RemoveSignal(int signo) {
++m_version;
}
-const char *UnixSignals::GetSignalAsCString(int signo) const {
- collection::const_iterator pos = m_signals.find(signo);
+llvm::StringRef UnixSignals::GetSignalAsStringRef(int32_t signo) const {
+ const auto pos = m_signals.find(signo);
if (pos == m_signals.end())
- return nullptr;
- else
- return pos->second.m_name.GetCString();
+ return {};
+ return pos->second.m_name.GetStringRef();
}
std::string
diff --git a/lldb/unittests/Signals/UnixSignalsTest.cpp b/lldb/unittests/Signals/UnixSignalsTest.cpp
index 2ae1b4ee5138f3..ab70c2ea218b78 100644
--- a/lldb/unittests/Signals/UnixSignalsTest.cpp
+++ b/lldb/unittests/Signals/UnixSignalsTest.cpp
@@ -84,7 +84,7 @@ TEST(UnixSignalsTest, GetInfo) {
bool should_suppress = false, should_stop = false, should_notify = false;
int32_t signo = 4;
- std::string name =
+ llvm::StringRef name =
signals.GetSignalInfo(signo, should_suppress, should_stop, should_notify);
EXPECT_EQ("SIG4", name);
EXPECT_EQ(true, should_suppress);
@@ -94,15 +94,14 @@ TEST(UnixSignalsTest, GetInfo) {
EXPECT_EQ(true, signals.GetShouldSuppress(signo));
EXPECT_EQ(false, signals.GetShouldStop(signo));
EXPECT_EQ(true, signals.GetShouldNotify(signo));
- EXPECT_EQ(name, signals.GetSignalAsCString(signo));
+ EXPECT_EQ(name, signals.GetSignalAsStringRef(signo));
}
-TEST(UnixSignalsTest, GetAsCString) {
+TEST(UnixSignalsTest, GetAsStringRef) {
TestSignals signals;
- ASSERT_EQ(nullptr, signals.GetSignalAsCString(100));
- std::string name = signals.GetSignalAsCString(16);
- ASSERT_EQ("SIG16", name);
+ ASSERT_EQ(llvm::StringRef(), signals.GetSignalAsStringRef(100));
+ ASSERT_EQ("SIG16", signals.GetSignalAsStringRef(16));
}
TEST(UnixSignalsTest, GetAsString) {
More information about the lldb-commits
mailing list