Disable htable sanitization in pt.c (PR c++/87847).

2019-06-11  Martin Liska  <mliska@suse.cz>

	PR c++/87847
	* hash-table.h: Extend create_gcc, add one parameter
	that is passed into hash_table::hash_table.
2019-06-11  Martin Liska  <mliska@suse.cz>

	PR c++/87847
	* pt.c (init_template_processing): Disable hash table
	sanitization for decl_specializations and type_specializations.

From-SVN: r272144
This commit is contained in:
Martin Liska 2019-06-11 09:55:19 +02:00 committed by Martin Liska
parent 0d7b3e477b
commit 3f2cf03657
4 changed files with 17 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2019-06-11 Martin Liska <mliska@suse.cz>
PR c++/87847
* hash-table.h: Extend create_gcc, add one parameter
that is passed into hash_table::hash_table.
2019-06-10 Uroš Bizjak <ubizjak@gmail.com>
* config/i386/i386-protos.h (ix86_split_fp_absneg_operator):

View File

@ -1,3 +1,9 @@
2019-06-11 Martin Liska <mliska@suse.cz>
PR c++/87847
* pt.c (init_template_processing): Disable hash table
sanitization for decl_specializations and type_specializations.
2019-06-10 Jason Merrill <jason@redhat.com>
* constexpr.c (free_constructor): New.

View File

@ -28316,8 +28316,9 @@ declare_integer_pack (void)
void
init_template_processing (void)
{
decl_specializations = hash_table<spec_hasher>::create_ggc (37);
type_specializations = hash_table<spec_hasher>::create_ggc (37);
/* FIXME: enable sanitization (PR87847) */
decl_specializations = hash_table<spec_hasher>::create_ggc (37, false);
type_specializations = hash_table<spec_hasher>::create_ggc (37, false);
if (cxx_dialect >= cxx11)
declare_integer_pack ();

View File

@ -386,10 +386,10 @@ public:
/* Create a hash_table in gc memory. */
static hash_table *
create_ggc (size_t n CXX_MEM_STAT_INFO)
create_ggc (size_t n, bool sanitize_eq_and_hash = true CXX_MEM_STAT_INFO)
{
hash_table *table = ggc_alloc<hash_table> ();
new (table) hash_table (n, true, true, GATHER_STATISTICS,
new (table) hash_table (n, true, sanitize_eq_and_hash, GATHER_STATISTICS,
HASH_TABLE_ORIGIN PASS_MEM_STAT);
return table;
}