[Ada] Pair miscount in Dynamic_HTable.Put
commit948a8c17113ff0dc880dcecb0f967dede38c830f
authorpmderodat <pmderodat@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Sep 2018 09:18:23 +0000 (26 09:18 +0000)
committerpmderodat <pmderodat@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Sep 2018 09:18:23 +0000 (26 09:18 +0000)
tree5240b291614aa754bc7f6ef295f95a3c8258f4ab
parent2efb76a46af4ba60da45899d5b5697cbe62c8308
[Ada] Pair miscount in Dynamic_HTable.Put

This patch corrects the logic of GNAT.Dynamic_HTables.Dynamic_HTable.Put to
update the number of key-value pairs in the hash table only when the put is
adding a new pair, rather than updating the value of an existing pair.

2018-09-26  Hristian Kirtchev  <kirtchev@adacore.com>

gcc/ada/

* libgnat/g-dynhta.adb (Prepend_Or_Replace): Update the number
of key-value pairs in the hash table only when adding a brand
new pair.

gcc/testsuite/

* gnat.dg/dynhash1.adb: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@264623 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/ChangeLog
gcc/ada/libgnat/g-dynhta.adb
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/dynhash1.adb [new file with mode: 0644]