// Instead of calling this directly, use a ADD_SIGCODE macro to get compile
// time checks when on the native platform.
void AddSignalCode(
- int signo, int code, const char *description,
+ int signo, int code, const llvm::StringLiteral description,
SignalCodePrintOption print_option = SignalCodePrintOption::None);
void RemoveSignal(int signo);
// Classes that inherit from UnixSignals can see and modify these
struct SignalCode {
- ConstString m_description;
- SignalCodePrintOption m_print_option;
+ const llvm::StringLiteral m_description;
+ const SignalCodePrintOption m_print_option;
};
struct Signal {
++m_version;
}
-void UnixSignals::AddSignalCode(int signo, int code, const char *description,
+void UnixSignals::AddSignalCode(int signo, int code,
+ const llvm::StringLiteral description,
SignalCodePrintOption print_option) {
collection::iterator signal = m_signals.find(signo);
assert(signal != m_signals.end() &&
"Tried to add code to signal that does not exist.");
signal->second.m_codes.insert(
- std::pair{code, SignalCode{ConstString(description), print_option}});
+ std::pair{code, SignalCode{description, print_option}});
++m_version;
}
str = pos->second.m_name.GetCString();
if (code) {
- std::map<int, SignalCode>::const_iterator cpos =
+ std::map<int32_t, SignalCode>::const_iterator cpos =
pos->second.m_codes.find(*code);
if (cpos != pos->second.m_codes.end()) {
const SignalCode &sc = cpos->second;
str += ": ";
if (sc.m_print_option != SignalCodePrintOption::Bounds)
- str += sc.m_description.GetCString();
+ str += sc.m_description.str();
std::stringstream strm;
switch (sc.m_print_option) {
strm << ", upper bound: 0x" << std::hex << *upper;
strm << ")";
} else
- strm << sc.m_description.GetCString();
+ strm << sc.m_description.str();
break;
}