diff options
author | Martin Sebor <msebor@redhat.com> | 2017-04-25 17:18:39 +0000 |
---|---|---|
committer | Martin Sebor <msebor@gcc.gnu.org> | 2017-04-25 11:18:39 -0600 |
commit | 8e640712d5af13fec089a36c6f7fa089ffc2d062 (patch) | |
tree | 6a1c05d5f81acd832195faf7a03f3efb3d1f7e7a | |
parent | 7629ae90d817ea1cb6928b1fe7036ef309ff094f (diff) | |
download | gcc-8e640712d5af13fec089a36c6f7fa089ffc2d062.zip gcc-8e640712d5af13fec089a36c6f7fa089ffc2d062.tar.gz gcc-8e640712d5af13fec089a36c6f7fa089ffc2d062.tar.bz2 |
PR bootstrap/80486 - spurious -Walloc-size-larger-than and -Wstringop-overflow in dominance.c during profiledbootstrap
gcc/ChangeLog:
PR bootstrap/80486
* dominance.c (dom_info::m_n_basic_blocks): Change type to unsigned.
(new_zero_array): Adjust signature.
(dom_info::dom_init): Used unsigned rather that size_t.
(dom_info::dom_info): Same.
From-SVN: r247261
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/dominance.c | 13 |
2 files changed, 15 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7e22408..1c9ebbe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2017-04-25 Martin Sebor <msebor@redhat.com> + + PR bootstrap/80486 + * dominance.c (dom_info::m_n_basic_blocks): Change type to unsigned. + (new_zero_array): Adjust signature. + (dom_info::dom_init): Used unsigned rather that size_t. + (dom_info::dom_info): Same. + 2017-04-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> Jakub Jelinek <jakub@redhat.com> diff --git a/gcc/dominance.c b/gcc/dominance.c index c76e62e..1d4bd54 100644 --- a/gcc/dominance.c +++ b/gcc/dominance.c @@ -125,7 +125,7 @@ private: bitmap m_fake_exit_edge; /* Number of basic blocks in the function being compiled. */ - size_t m_n_basic_blocks; + unsigned m_n_basic_blocks; /* True, if we are computing postdominators (rather than dominators). */ bool m_reverse; @@ -148,7 +148,7 @@ void debug_dominance_tree (cdi_direction, basic_block); `x = new T[num] {};'. */ template<typename T> -inline T *new_zero_array (size_t num) +inline T *new_zero_array (unsigned num) { T *result = new T[num]; memset (result, 0, sizeof (T) * num); @@ -160,14 +160,15 @@ inline T *new_zero_array (size_t num) void dom_info::dom_init (void) { - size_t num = m_n_basic_blocks; + unsigned num = m_n_basic_blocks; + m_dfs_parent = new_zero_array <TBB> (num); m_dom = new_zero_array <TBB> (num); m_path_min = new TBB[num]; m_key = new TBB[num]; m_set_size = new unsigned int[num]; - for (size_t i = 0; i < num; i++) + for (unsigned i = 0; i < num; i++) { m_path_min[i] = m_key[i] = i; m_set_size[i] = 1; @@ -221,13 +222,13 @@ dom_info::dom_info (function *fn, cdi_direction dir) dom_info::dom_info (vec<basic_block> region, cdi_direction dir) { m_n_basic_blocks = region.length (); - unsigned int nm1 = m_n_basic_blocks - 1; + unsigned nm1 = m_n_basic_blocks - 1; dom_init (); /* Determine max basic block index in region. */ int max_index = region[0]->index; - for (size_t i = 1; i <= nm1; i++) + for (unsigned i = 1; i <= nm1; i++) if (region[i]->index > max_index) max_index = region[i]->index; max_index += 1; /* set index on the first bb out of region. */ |