aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2016-11-09 14:53:58 +0000
committerPedro Alves <palves@redhat.com>2016-11-09 14:53:58 +0000
commit7a63494a0df60cf71b9cf03c4eb8f24719d03e66 (patch)
tree5b59f39a837aaa33f12ddb718499ad44c8a1650f
parent8c84bffb45ac63b98fffc5c1a492c2eb7e4f27e2 (diff)
downloadgdb-7a63494a0df60cf71b9cf03c4eb8f24719d03e66.zip
gdb-7a63494a0df60cf71b9cf03c4eb8f24719d03e66.tar.gz
gdb-7a63494a0df60cf71b9cf03c4eb8f24719d03e66.tar.bz2
gdb: Use vector::emplace_back
Now that we require C++11, we can use vector::emplace_back to construct elements in place instead of constructing and then copying. gdb/ChangeLog: 2016-11-09 Pedro Alves <palves@redhat.com> * main.c (struct cmdarg): Add constructor. (captured_main_1): Use vector::emplace_back. * tracepoint.c (collection_list::add_memrange): Likewise.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/main.c31
-rw-r--r--gdb/tracepoint.c2
3 files changed, 17 insertions, 22 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2f0f3c2..4d16c38 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2016-11-09 Pedro Alves <palves@redhat.com>
+
+ * main.c (struct cmdarg): Add constructor.
+ (captured_main_1): Use vector::emplace_back.
+ * tracepoint.c (collection_list::add_memrange): Likewise.
+
2016-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
* tui/tui-winsource.c (tui_alloc_source_buffer): Remove
diff --git a/gdb/main.c b/gdb/main.c
index ca6a81e..fe57bf8 100644
--- a/gdb/main.c
+++ b/gdb/main.c
@@ -444,7 +444,12 @@ enum cmdarg_kind
};
/* Arguments of --command option and its counterpart. */
-struct cmdarg {
+struct cmdarg
+{
+ cmdarg (cmdarg_kind type_, char *string_)
+ : type (type_), string (string_)
+ {}
+
/* Type of this option. */
enum cmdarg_kind type;
@@ -745,32 +750,16 @@ captured_main_1 (struct captured_main_args *context)
pidarg = optarg;
break;
case 'x':
- {
- struct cmdarg cmdarg = { CMDARG_FILE, optarg };
-
- cmdarg_vec.push_back (cmdarg);
- }
+ cmdarg_vec.emplace_back (CMDARG_FILE, optarg);
break;
case 'X':
- {
- struct cmdarg cmdarg = { CMDARG_COMMAND, optarg };
-
- cmdarg_vec.push_back (cmdarg);
- }
+ cmdarg_vec.emplace_back (CMDARG_COMMAND, optarg);
break;
case OPT_IX:
- {
- struct cmdarg cmdarg = { CMDARG_INIT_FILE, optarg };
-
- cmdarg_vec.push_back (cmdarg);
- }
+ cmdarg_vec.emplace_back (CMDARG_INIT_FILE, optarg);
break;
case OPT_IEX:
- {
- struct cmdarg cmdarg = { CMDARG_INIT_COMMAND, optarg };
-
- cmdarg_vec.push_back (cmdarg);
- }
+ cmdarg_vec.emplace_back (CMDARG_INIT_COMMAND, optarg);
break;
case 'B':
batch_flag = batch_silent = 1;
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index 3d28606..2a40b16 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -919,7 +919,7 @@ collection_list::add_memrange (int type, bfd_signed_vma base,
/* type: memrange_absolute == memory, other n == basereg */
/* base: addr if memory, offset if reg relative. */
/* len: we actually save end (base + len) for convenience */
- m_memranges.push_back (memrange (type, base, base + len));
+ m_memranges.emplace_back (type, base, base + len);
if (type != memrange_absolute) /* Better collect the base register! */
add_register (type);