read/write_pieced_value: Improve logic for buffer allocation
authorAndreas Arnez <arnez@linux.vnet.ibm.com>
Tue, 13 Jun 2017 13:20:30 +0000 (15:20 +0200)
committerAndreas Arnez <arnez@linux.vnet.ibm.com>
Tue, 13 Jun 2017 13:20:30 +0000 (15:20 +0200)
commit242d31ab7c3901e02bd68c1824d1d3610e02562b
tree57e90f1652658ba1b8076f19c1bfb4ad8e5ea35c
parent03c8af18d1a8f359fd023696848bda488119da60
read/write_pieced_value: Improve logic for buffer allocation

So far the main loop in read_pieced_value and write_pieced_value is
structured like this:

(1) Prepare a buffer and some variables we may need;

(2) depending on the DWARF piece type to be handled, use the buffer and
    the prepared variables, ignore them, or even recalculate them.

This approach reduces readability and may also lead to unnecessary copying
of data.  This patch moves the preparations to the places where sufficient
information is available and removes some of the variables involved.

gdb/ChangeLog:

* dwarf2loc.c (read_pieced_value): Move the buffer allocation and
some other preparations to the places where sufficient information
is available.
(write_pieced_value): Likewise.
gdb/ChangeLog
gdb/dwarf2loc.c