table.adb, [...] (Append): Reimplement in terms of Set_Item.
authorThomas Quinot <quinot@adacore.com>
Tue, 14 Aug 2007 08:46:03 +0000 (10:46 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 14 Aug 2007 08:46:03 +0000 (10:46 +0200)
commit1d6f10a19473c4c174bcb8295163be080ae6f64e
treee043ad5b7ca9b739ced688a5040d0ff234515f08
parentf97ccb3a84b27374661fd1f9540efb360d976019
table.adb, [...] (Append): Reimplement in terms of Set_Item.

2007-08-14  Thomas Quinot  <quinot@adacore.com>

* table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms
of Set_Item.
(Set_Item): When the new item is an element of the currently allocated
table passed by reference, save a copy on the stack if we're going
to reallocate. Also, in Table.Set_Item, make sure we test the proper
variable to determine whether to call Set_Last.

* sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb,
symbols-vms.adb, symbols-processing-vms-alpha.adb,
symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace
some occurrences of the pattern
   T.Increment_Last;
   T.Table (T.Last) := Value;
with a cleaner call to
   T.Append (Value);

From-SVN: r127442
12 files changed:
gcc/ada/g-dyntab.adb
gcc/ada/g-table.adb
gcc/ada/repinfo.adb
gcc/ada/sem_elab.adb
gcc/ada/sinput-d.adb
gcc/ada/sinput-l.adb
gcc/ada/stringt.adb
gcc/ada/switch-m.adb
gcc/ada/symbols-processing-vms-alpha.adb
gcc/ada/symbols-processing-vms-ia64.adb
gcc/ada/symbols-vms.adb
gcc/ada/table.adb