diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/pt.c | 5 | ||||
-rw-r--r-- | gcc/hash-table.h | 4 |
4 files changed, 17 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a479644..8350a6f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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): diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 084e623..f279c7c 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -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. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index ebaab27..2a62652 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -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 (); diff --git a/gcc/hash-table.h b/gcc/hash-table.h index 6c1fca3..4f5e150 100644 --- a/gcc/hash-table.h +++ b/gcc/hash-table.h @@ -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; } |