aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/pt.c5
-rw-r--r--gcc/hash-table.h4
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;
}