aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2017-04-25 17:18:39 +0000
committerMartin Sebor <msebor@gcc.gnu.org>2017-04-25 11:18:39 -0600
commit8e640712d5af13fec089a36c6f7fa089ffc2d062 (patch)
tree6a1c05d5f81acd832195faf7a03f3efb3d1f7e7a /gcc
parent7629ae90d817ea1cb6928b1fe7036ef309ff094f (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/dominance.c13
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. */