aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2read.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2017-06-12 00:43:55 +0100
committerPedro Alves <palves@redhat.com>2017-06-12 17:06:25 +0100
commit6fd931f2d66af8398b2fae3ab5f5afe091b8362f (patch)
treeea687a3ab1e64911074d7482486cce5fa19eaf26 /gdb/dwarf2read.c
parentbc8f2430e08cc2a520db49a42686e0529be4a3bc (diff)
downloadfsf-binutils-gdb-6fd931f2d66af8398b2fae3ab5f5afe091b8362f.zip
fsf-binutils-gdb-6fd931f2d66af8398b2fae3ab5f5afe091b8362f.tar.gz
fsf-binutils-gdb-6fd931f2d66af8398b2fae3ab5f5afe091b8362f.tar.bz2
Code cleanup: dwarf2read.c:uniquify_cu_indices: Use std::unique
gdb/ChangeLog: 2017-06-12 Pedro Alves <palves@redhat.com> * dwarf2read.c (uniquify_cu_indices): Use std::unique and std::vector::erase.
Diffstat (limited to 'gdb/dwarf2read.c')
-rw-r--r--gdb/dwarf2read.c21
1 files changed, 4 insertions, 17 deletions
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index ef21092..0c9e275 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -23370,23 +23370,10 @@ uniquify_cu_indices (struct mapped_symtab *symtab)
{
if (entry && !entry->cu_indices.empty ())
{
- unsigned int next_to_insert, next_to_check;
- offset_type last_value;
-
- std::sort (entry->cu_indices.begin (), entry->cu_indices.end ());
-
- last_value = entry->cu_indices[0];
- next_to_insert = 1;
- for (next_to_check = 1;
- next_to_check < entry->cu_indices.size ();
- ++next_to_check)
- if (entry->cu_indices[next_to_check] != last_value)
- {
- last_value = entry->cu_indices[next_to_check];
- entry->cu_indices[next_to_insert] = last_value;
- ++next_to_insert;
- }
- entry->cu_indices.resize (next_to_insert);
+ auto &cu_indices = entry->cu_indices;
+ std::sort (cu_indices.begin (), cu_indices.end ());
+ auto from = std::unique (cu_indices.begin (), cu_indices.end ());
+ cu_indices.erase (from, cu_indices.end ());
}
}
}