Fix clang warnings about copy elision
authorSimon Marchi <simon.marchi@ericsson.com>
Thu, 23 Nov 2017 18:51:50 +0000 (13:51 -0500)
committerSimon Marchi <simon.marchi@ericsson.com>
Thu, 23 Nov 2017 18:52:28 +0000 (13:52 -0500)
When building with clang, I get:

/home/emaisin/src/binutils-gdb/gdb/osdata.c:107:9: error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move]
                             std::move (std::string (body_text)));
                             ^
/home/emaisin/src/binutils-gdb/gdb/osdata.c:107:9: note: remove std::move call here
                             std::move (std::string (body_text)));
                             ^~~~~~~~~~~                       ~
/home/emaisin/src/binutils-gdb/gdb/osdata.c:181:10: error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
  return std::move (osdata);
         ^
/home/emaisin/src/binutils-gdb/gdb/osdata.c:181:10: note: remove std::move call here
  return std::move (osdata);
         ^~~~~~~~~~~      ~

Indeed, those two std::move are unnecessary.

gdb/ChangeLog:

* osdata.c (osdata_end_column, get_osdata): Remove std::move.

gdb/ChangeLog
gdb/osdata.c

index 3fdeae1879c82e0c23ad49e3a13e1e174dc932dd..bb3bf4e6b9cac6f1fcb615cdb8e9d57500cadb29 100644 (file)
@@ -1,3 +1,7 @@
+2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * osdata.c (osdata_end_column, get_osdata): Remove std::move.
+
 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
 
        * varobj.c (struct varobj_dynamic) <children_requested_>: Rename
index f013d0fbd72758495e0dec1aec8d8c2ae5e6c095..a82cbf1ad213e502f9f7d0fdd0469adb2a301185 100644 (file)
@@ -104,7 +104,7 @@ osdata_end_column (struct gdb_xml_parser *parser,
   osdata_item &item = osdata->items.back ();
 
   item.columns.emplace_back (std::move (data->property_name),
-                            std::move (std::string (body_text)));
+                            std::string (body_text));
 }
 
 /* The allowed elements and attributes for OS data object.
@@ -178,7 +178,7 @@ get_osdata (const char *type)
   if (osdata == NULL)
     error (_("Can not fetch data now."));
 
-  return std::move (osdata);
+  return osdata;
 }
 
 const std::string *
This page took 0.032123 seconds and 4 git commands to generate.