Combine loop epilogue into main loop body to reduce duplication.
This commit is contained in:
parent
b9394193d0
commit
b39b8b9d90
|
@ -1,3 +1,8 @@
|
||||||
|
2015-02-04 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
|
||||||
|
|
||||||
|
* merge.cc (do_add_input_section): Combine loop epilogue into main loop
|
||||||
|
body.
|
||||||
|
|
||||||
2015-02-04 Peter Collingbourne <pcc@google.com>
|
2015-02-04 Peter Collingbourne <pcc@google.com>
|
||||||
|
|
||||||
* plugin.cc (Pluginobj::get_symbol_resolution_info): Resolve
|
* plugin.cc (Pluginobj::get_symbol_resolution_info): Resolve
|
||||||
|
|
|
@ -564,9 +564,9 @@ Output_merge_string<Char_type>::do_add_input_section(Relobj* object,
|
||||||
& (this->addralign() - 1));
|
& (this->addralign() - 1));
|
||||||
bool has_misaligned_strings = false;
|
bool has_misaligned_strings = false;
|
||||||
|
|
||||||
while (p < pend0)
|
while (p < pend)
|
||||||
{
|
{
|
||||||
size_t len = string_length(p);
|
size_t len = p < pend0 ? string_length(p) : pend - p;
|
||||||
|
|
||||||
// Within merge input section each string must be aligned.
|
// Within merge input section each string must be aligned.
|
||||||
if (len != 0
|
if (len != 0
|
||||||
|
@ -581,17 +581,6 @@ Output_merge_string<Char_type>::do_add_input_section(Relobj* object,
|
||||||
p += len + 1;
|
p += len + 1;
|
||||||
i += (len + 1) * sizeof(Char_type);
|
i += (len + 1) * sizeof(Char_type);
|
||||||
}
|
}
|
||||||
if (p < pend)
|
|
||||||
{
|
|
||||||
size_t len = pend - p;
|
|
||||||
|
|
||||||
Stringpool::Key key;
|
|
||||||
this->stringpool_.add_with_length(p, len, true, &key);
|
|
||||||
|
|
||||||
merged_strings.push_back(Merged_string(i, key));
|
|
||||||
|
|
||||||
i += (len + 1) * sizeof(Char_type);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Record the last offset in the input section so that we can
|
// Record the last offset in the input section so that we can
|
||||||
// compute the length of the last string.
|
// compute the length of the last string.
|
||||||
|
|
Loading…
Reference in New Issue