summaryrefslogtreecommitdiff
path: root/gcc/vec.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-11-21 13:46:18 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-11-21 13:46:18 +0000
commitd78b70959f334699bf556e9b8d4e0a8c12a64b46 (patch)
treebbeb4dbda1117ae17d50415a6053d914cf30f236 /gcc/vec.h
parente2a05fdfd4798192493c582ec6528c975bfa9b0c (diff)
cfgloop.h (loop_iterator::~loop_iterator): Remove.
2019-11-21 Richard Biener <rguenther@suse.de> * cfgloop.h (loop_iterator::~loop_iterator): Remove. (loop_iterator::to_visit): Use an auto_vec with internal storage. (loop_iterator::loop_iterator): Adjust. * cfganal.c (compute_dominance_frontiers_1): Fold into... (compute_dominance_frontiers): ... this. Hoist invariant get_immediate_dominator call. (compute_idf): Use a work-set instead of a work-list for more optimal iteration order and duplicate avoidance. * tree-into-ssa.c (mark_phi_for_rewrite): Avoid re-allocating the vector all the time, instead pre-allocate the vector only once. (delete_update_ssa): Simplify. * vec.h (va_heap::release): Disable -Wfree-nonheap-object around it. From-SVN: r278550
Diffstat (limited to 'gcc/vec.h')
-rw-r--r--gcc/vec.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/vec.h b/gcc/vec.h
index 091056b37bc..8070021223a 100644
--- a/gcc/vec.h
+++ b/gcc/vec.h
@@ -295,6 +295,11 @@ va_heap::reserve (vec<T, va_heap, vl_embed> *&v, unsigned reserve, bool exact
}
+#if GCC_VERSION >= 4007
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wfree-nonheap-object"
+#endif
+
/* Free the heap space allocated for vector V. */
template<typename T>
@@ -312,6 +317,9 @@ va_heap::release (vec<T, va_heap, vl_embed> *&v)
v = NULL;
}
+#if GCC_VERSION >= 4007
+#pragma GCC diagnostic pop
+#endif
/* Allocator type for GC vectors. Notice that we need the structure
declaration even if GC is not enabled. */