Compiling on clang showed a couple of pessimizations. Fixed thusly.
libcody/
* client.cc (Client::ProcessResponse): Remove std::move
inside ?:
c++tools/
* resolver.cc (module_resolver::cmi_response): Remove
std::move of temporary.
--
Nathan Sidwell
diff --git i/c++tools/resolver.cc w/c++tools/resolver.cc
index c8d31153574..ef08de53072 100644
--- i/c++tools/resolver.cc
+++ w/c++tools/resolver.cc
@@ -226,9 +226,7 @@ module_resolver::cmi_response (Cody::Server *s, std::string &module)
auto iter = map.find (module);
if (iter == map.end ())
{
- std::string file;
- if (default_map)
- file = std::move (GetCMIName (module));
+ std::string file = default_map ? GetCMIName (module) : std::string ();
auto res = map.emplace (module, file);
iter = res.first;
}
diff --git i/libcody/client.cc w/libcody/client.cc
index edfe44d34b2..ae69d190cb7 100644
--- i/libcody/client.cc
+++ w/libcody/client.cc
@@ -122,8 +122,7 @@ Packet Client::ProcessResponse (std::vector<std::string> &words,
Assert (!words.empty ());
if (words[0] == u8"ERROR")
return Packet (Client::PC_ERROR,
- std::move (words.size () == 2 ? words[1]
- : u8"malformed error response"));
+ words.size () == 2 ? words[1]: u8"malformed error response");
if (isLast && !read.IsAtEnd ())
return Packet (Client::PC_ERROR,