From 8d20cfdfc6c26533a87c525cb6e8dbc50a65e036 Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Fri, 21 Dec 2018 22:46:10 +0000 Subject: [PATCH] [NFC] Replace `compare` with (in)equality operator where applicable. Using compare is verbose, bug prone and potentially inefficient (because of early termination). Replace relevant call sites with the (in)equality operator. llvm-svn: 349972 --- lldb/source/Core/IOHandler.cpp | 2 +- lldb/source/Core/Module.cpp | 2 +- lldb/source/Host/common/XML.cpp | 2 +- lldb/source/Interpreter/CommandAlias.cpp | 3 +-- .../source/Interpreter/CommandInterpreter.cpp | 4 ++-- .../Platform/MacOSX/PlatformDarwinKernel.cpp | 3 +-- .../Platform/MacOSX/PlatformMacOSX.cpp | 2 +- .../Process/gdb-remote/ProcessGDBRemote.cpp | 12 +++++------ lldb/source/Symbol/ClangASTContext.cpp | 2 +- lldb/source/Symbol/TypeList.cpp | 3 +-- lldb/source/Symbol/TypeMap.cpp | 3 +-- lldb/tools/debugserver/source/RNBRemote.cpp | 14 ++++++------- lldb/tools/lldb-mi/MICmdArgValConsume.cpp | 2 +- lldb/tools/lldb-mi/MIDriver.cpp | 17 ++++++++-------- lldb/tools/lldb-mi/MIDriverMgr.cpp | 20 +++++++++---------- 15 files changed, 42 insertions(+), 49 deletions(-) diff --git a/lldb/source/Core/IOHandler.cpp b/lldb/source/Core/IOHandler.cpp index 682b7bb2e99d..5c0eea5ea1a3 100644 --- a/lldb/source/Core/IOHandler.cpp +++ b/lldb/source/Core/IOHandler.cpp @@ -1052,7 +1052,7 @@ public: Windows::iterator pos, end = m_subwindows.end(); size_t i = 0; for (pos = m_subwindows.begin(); pos != end; ++pos, ++i) { - if ((*pos)->m_name.compare(name) == 0) + if ((*pos)->m_name == name) return *pos; } return WindowSP(); diff --git a/lldb/source/Core/Module.cpp b/lldb/source/Core/Module.cpp index 76c898fc0cdb..a53d54fb103b 100644 --- a/lldb/source/Core/Module.cpp +++ b/lldb/source/Core/Module.cpp @@ -783,7 +783,7 @@ void Module::LookupInfo::Prune(SymbolContextList &sc_list, qualified_name = cpp_method.GetBasename().str(); else qualified_name = cpp_method.GetScopeQualifiedName(); - if (qualified_name.compare(m_name.GetCString()) != 0) { + if (qualified_name != m_name.GetCString()) { sc_list.RemoveContextAtIndex(i); continue; } diff --git a/lldb/source/Host/common/XML.cpp b/lldb/source/Host/common/XML.cpp index b964a2e26fad..967a294cbf72 100644 --- a/lldb/source/Host/common/XML.cpp +++ b/lldb/source/Host/common/XML.cpp @@ -438,7 +438,7 @@ XMLNode ApplePropertyList::GetValueNode(const char *key) const { "key", [key, &value_node](const XMLNode &key_node) -> bool { std::string key_name; if (key_node.GetElementText(key_name)) { - if (key_name.compare(key) == 0) { + if (key_name == key) { value_node = key_node.GetSibling(); while (value_node && !value_node.IsElement()) value_node = value_node.GetSibling(); diff --git a/lldb/source/Interpreter/CommandAlias.cpp b/lldb/source/Interpreter/CommandAlias.cpp index a4b0a0c55c0e..078eb73a7a87 100644 --- a/lldb/source/Interpreter/CommandAlias.cpp +++ b/lldb/source/Interpreter/CommandAlias.cpp @@ -158,8 +158,7 @@ void CommandAlias::GetAliasExpansion(StreamString &help_string) const { help_string.Printf(" %s", value.c_str()); } else { help_string.Printf(" %s", opt.c_str()); - if ((value.compare("") != 0) && - (value.compare("GetCommandName().str().c_str()); @@ -1937,7 +1937,7 @@ void CommandInterpreter::BuildAliasCommandArgs(CommandObject *alias_cmd_obj, // Make sure that the alias name is the 0th element in cmd_args std::string alias_name_str = alias_name; - if (alias_name_str.compare(cmd_args.GetArgumentAtIndex(0)) != 0) + if (alias_name_str != cmd_args.GetArgumentAtIndex(0)) cmd_args.Unshift(alias_name_str); Args new_args(alias_cmd_obj->GetCommandName()); diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp index 330785850025..221568bbdaf1 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp @@ -710,8 +710,7 @@ Status PlatformDarwinKernel::GetSharedModule( } } - if (kext_bundle_id.compare("mach_kernel") == 0 && - module_spec.GetUUID().IsValid()) { + if (kext_bundle_id == "mach_kernel" && module_spec.GetUUID().IsValid()) { // First try all kernel binaries that have a dSYM next to them for (auto possible_kernel : m_kernel_binaries_with_dsyms) { if (FileSystem::Instance().Exists(possible_kernel)) { diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp index 4e18b90f5d55..4117231c308a 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp @@ -256,7 +256,7 @@ PlatformMacOSX::GetFileWithUUID(const lldb_private::FileSpec &platform_file, #endif std::string remote_os_build; m_remote_platform_sp->GetOSBuildString(remote_os_build); - if (local_os_build.compare(remote_os_build) == 0) { + if (local_os_build == remote_os_build) { // same OS version: the local file is good enough local_file = platform_file; return Status(); diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp index ef0915f70c1b..797f63d537a1 100644 --- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -1882,7 +1882,7 @@ ThreadSP ProcessGDBRemote::SetThreadStopInfo( bool handled = false; bool did_exec = false; if (!reason.empty()) { - if (reason.compare("trace") == 0) { + if (reason == "trace") { addr_t pc = thread_sp->GetRegisterContext()->GetPC(); lldb::BreakpointSiteSP bp_site_sp = thread_sp->GetProcess() ->GetBreakpointSiteList() @@ -1900,7 +1900,7 @@ ThreadSP ProcessGDBRemote::SetThreadStopInfo( thread_sp->SetStopInfo( StopInfo::CreateStopReasonToTrace(*thread_sp)); handled = true; - } else if (reason.compare("breakpoint") == 0) { + } else if (reason == "breakpoint") { addr_t pc = thread_sp->GetRegisterContext()->GetPC(); lldb::BreakpointSiteSP bp_site_sp = thread_sp->GetProcess() ->GetBreakpointSiteList() @@ -1921,9 +1921,9 @@ ThreadSP ProcessGDBRemote::SetThreadStopInfo( thread_sp->SetStopInfo(invalid_stop_info_sp); } } - } else if (reason.compare("trap") == 0) { + } else if (reason == "trap") { // Let the trap just use the standard signal stop reason below... - } else if (reason.compare("watchpoint") == 0) { + } else if (reason == "watchpoint") { StringExtractor desc_extractor(description.c_str()); addr_t wp_addr = desc_extractor.GetU64(LLDB_INVALID_ADDRESS); uint32_t wp_index = desc_extractor.GetU32(LLDB_INVALID_INDEX32); @@ -1955,11 +1955,11 @@ ThreadSP ProcessGDBRemote::SetThreadStopInfo( thread_sp->SetStopInfo(StopInfo::CreateStopReasonWithWatchpointID( *thread_sp, watch_id, wp_hit_addr)); handled = true; - } else if (reason.compare("exception") == 0) { + } else if (reason == "exception") { thread_sp->SetStopInfo(StopInfo::CreateStopReasonWithException( *thread_sp, description.c_str())); handled = true; - } else if (reason.compare("exec") == 0) { + } else if (reason == "exec") { did_exec = true; thread_sp->SetStopInfo( StopInfo::CreateStopReasonWithExec(*thread_sp)); diff --git a/lldb/source/Symbol/ClangASTContext.cpp b/lldb/source/Symbol/ClangASTContext.cpp index 0fb4699ac359..5052f3c2a44b 100644 --- a/lldb/source/Symbol/ClangASTContext.cpp +++ b/lldb/source/Symbol/ClangASTContext.cpp @@ -7452,7 +7452,7 @@ ClangASTContext::GetIndexOfChildWithName(lldb::opaque_compiler_type_t type, base_class->getType()); std::string base_class_type_name( base_class_clang_type.GetTypeName().AsCString("")); - if (base_class_type_name.compare(name) == 0) + if (base_class_type_name == name) return child_idx; ++child_idx; } diff --git a/lldb/source/Symbol/TypeList.cpp b/lldb/source/Symbol/TypeList.cpp index f70982fd0d24..26a646e64693 100644 --- a/lldb/source/Symbol/TypeList.cpp +++ b/lldb/source/Symbol/TypeList.cpp @@ -180,8 +180,7 @@ void TypeList::RemoveMismatchedTypes(const std::string &type_scope, } else { // The type we are currently looking at doesn't exists in a namespace // or class, so it only matches if there is no type scope... - keep_match = - type_scope.empty() && type_basename.compare(match_type_name) == 0; + keep_match = type_scope.empty() && type_basename == match_type_name; } } diff --git a/lldb/source/Symbol/TypeMap.cpp b/lldb/source/Symbol/TypeMap.cpp index 5bbf6d6908cc..337278c202ed 100644 --- a/lldb/source/Symbol/TypeMap.cpp +++ b/lldb/source/Symbol/TypeMap.cpp @@ -223,8 +223,7 @@ void TypeMap::RemoveMismatchedTypes(const std::string &type_scope, } else { // The type we are currently looking at doesn't exists in a namespace // or class, so it only matches if there is no type scope... - keep_match = - type_scope.empty() && type_basename.compare(match_type_name) == 0; + keep_match = type_scope.empty() && type_basename == match_type_name; } } diff --git a/lldb/tools/debugserver/source/RNBRemote.cpp b/lldb/tools/debugserver/source/RNBRemote.cpp index 7c5bba4484e4..f611ec0d2199 100644 --- a/lldb/tools/debugserver/source/RNBRemote.cpp +++ b/lldb/tools/debugserver/source/RNBRemote.cpp @@ -1825,18 +1825,18 @@ rnb_err_t RNBRemote::HandlePacket_qRcmd(const char *p) { } if (*c == '\0') { std::string command = get_identifier(line); - if (command.compare("set") == 0) { + if (command == "set") { std::string variable = get_identifier(line); std::string op = get_operator(line); std::string value = get_value(line); - if (variable.compare("logfile") == 0) { + if (variable == "logfile") { FILE *log_file = fopen(value.c_str(), "w"); if (log_file) { DNBLogSetLogCallback(FileLogCallback, log_file); return SendPacket("OK"); } return SendPacket("E71"); - } else if (variable.compare("logmask") == 0) { + } else if (variable == "logmask") { char *end; errno = 0; uint32_t logmask = @@ -4231,7 +4231,7 @@ rnb_err_t RNBRemote::HandlePacket_GetProfileData(const char *p) { std::string name; std::string value; while (packet.GetNameColonValue(name, value)) { - if (name.compare("scan_type") == 0) { + if (name == "scan_type") { std::istringstream iss(value); uint32_t int_value = 0; if (iss >> std::hex >> int_value) { @@ -4261,11 +4261,11 @@ rnb_err_t RNBRemote::HandlePacket_SetEnableAsyncProfiling(const char *p) { std::string name; std::string value; while (packet.GetNameColonValue(name, value)) { - if (name.compare("enable") == 0) { + if (name == "enable") { enable = strtoul(value.c_str(), NULL, 10) > 0; - } else if (name.compare("interval_usec") == 0) { + } else if (name == "interval_usec") { interval_usec = strtoul(value.c_str(), NULL, 10); - } else if (name.compare("scan_type") == 0) { + } else if (name == "scan_type") { std::istringstream iss(value); uint32_t int_value = 0; if (iss >> std::hex >> int_value) { diff --git a/lldb/tools/lldb-mi/MICmdArgValConsume.cpp b/lldb/tools/lldb-mi/MICmdArgValConsume.cpp index 5a76ab4b56f5..86c4f0912565 100644 --- a/lldb/tools/lldb-mi/MICmdArgValConsume.cpp +++ b/lldb/tools/lldb-mi/MICmdArgValConsume.cpp @@ -67,7 +67,7 @@ bool CMICmdArgValConsume::Validate(CMICmdArgContext &vwArgContext) { while (it != vecOptions.end()) { const CMIUtilString &rTxt(*it); - if (rTxt.compare("--") == 0) { + if (rTxt == "--") { m_bFound = true; m_bValid = true; if (!vwArgContext.RemoveArg(rTxt)) diff --git a/lldb/tools/lldb-mi/MIDriver.cpp b/lldb/tools/lldb-mi/MIDriver.cpp index 23039110b428..cb8fb1c2c25f 100644 --- a/lldb/tools/lldb-mi/MIDriver.cpp +++ b/lldb/tools/lldb-mi/MIDriver.cpp @@ -443,8 +443,7 @@ lldb::SBError CMIDriver::ParseArgs(const int argc, const char *argv[], CMICmdArgValString(true, false, true).IsStringArg(strArg)) { // Is this the command file for the '-s' or '--source' options? const CMIUtilString strPrevArg(argv[i - 1]); - if (strPrevArg.compare("-s") == 0 || - strPrevArg.compare("--source") == 0) { + if (strPrevArg == "-s" || strPrevArg == "--source") { m_strCmdLineArgCommandFileNamePath = strArg; m_bHaveCommandFileNamePathOnCmdLine = true; i--; // skip '-s' on the next loop @@ -457,7 +456,7 @@ lldb::SBError CMIDriver::ParseArgs(const int argc, const char *argv[], } // Report error if no command file was specified for the '-s' or // '--source' options - else if (strArg.compare("-s") == 0 || strArg.compare("--source") == 0) { + else if (strArg == "-s" || strArg == "--source") { vwbExiting = true; const CMIUtilString errMsg = CMIUtilString::Format( MIRSRC(IDS_CMD_ARGS_ERR_VALIDATION_MISSING_INF), strArg.c_str()); @@ -465,13 +464,13 @@ lldb::SBError CMIDriver::ParseArgs(const int argc, const char *argv[], break; } // This argument is also checked for in CMIDriverMgr::ParseArgs() - else if (strArg.compare("--executable") == 0) // Used to specify that - // there is executable - // argument also on the - // command line - { // See fn description. + else if (strArg == "--executable") // Used to specify that + // there is executable + // argument also on the + // command line + { // See fn description. bHaveExecutableLongOption = true; - } else if (strArg.compare("--synchronous") == 0) { + } else if (strArg == "--synchronous") { CMICmnLLDBDebugSessionInfo::Instance().GetDebugger().SetAsync(false); } } diff --git a/lldb/tools/lldb-mi/MIDriverMgr.cpp b/lldb/tools/lldb-mi/MIDriverMgr.cpp index 6b39832d736e..93070a5912d6 100644 --- a/lldb/tools/lldb-mi/MIDriverMgr.cpp +++ b/lldb/tools/lldb-mi/MIDriverMgr.cpp @@ -516,29 +516,27 @@ bool CMIDriverMgr::ParseArgs(const int argc, const char *argv[], const CMIUtilString strArg(argv[i]); // Argument "--executable" is also check for in CMIDriver::ParseArgs() - if ((0 == - strArg.compare( - "--interpreter")) || // Given by the client such as Eclipse - (0 == strArg.compare("--executable"))) // Used to specify that there - // is executable argument also - // on the command line - { // See fn description. + if (("--interpreter" == strArg) || // Given by the client such as Eclipse + ("--executable" == strArg)) // Used to specify that there + // is executable argument also + // on the command line + { // See fn description. bHaveArgInterpret = true; } - if (0 == strArg.compare("--version")) { + if ("--version" == strArg) { bHaveArgVersion = true; } - if (0 == strArg.compare("--versionLong")) { + if ("--versionLong" == strArg) { bHaveArgVersionLong = true; } - if (0 == strArg.compare("--log")) { + if ("--log" == strArg) { bHaveArgLog = true; } if (0 == strArg.compare(0, 10, "--log-dir=")) { strLogDir = strArg.substr(10, CMIUtilString::npos); bHaveArgLogDir = true; } - if ((0 == strArg.compare("--help")) || (0 == strArg.compare("-h"))) { + if (("--help" == strArg) || ("-h" == strArg)) { bHaveArgHelp = true; } }