[Bug middle-end/92761] hash_table::expand invokes assignment on invalid objects
msebor at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Dec 9 20:54:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92761
--- Comment #11 from Martin Sebor <msebor at gcc dot gnu.org> ---
Author: msebor
Date: Mon Dec 9 20:54:11 2019
New Revision: 279139
URL: https://gcc.gnu.org/viewcvs?rev=279139&root=gcc&view=rev
Log:
PR middle-end/92761 - hash_table::expand invokes assignment on invalid objects
PR middle-end/92762 - hash_table::empty_slow invokes assignment on invalid
objects
gcc/ChangeLog:
PR middle-end/92761
PR middle-end/92762
* hash-map-tests.c (test_map_of_type_with_ctor_and_dtor): Tighten
up tests.
* hash-table.h (hash_table::expand): Use placement new to copy
construct objects in uninitialized storage.
(hash_table::empty_slow): Avoid invoking copy assignment on
uninitialized objects.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/hash-map-tests.c
trunk/gcc/hash-table.h
More information about the Gcc-bugs
mailing list