summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/lto-cgraph.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 858d96ebd98..67d1184f21a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2013-03-28 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (merge_profile_summaries): Fix overflows.
+
2013-03-28 Ian Bolton <ian.bolton@arm.com>
* config/aarch64/aarch64.md (aarch64_can_eliminate): Keep frame
diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c
index d9d798a2ade..6d639a9459d 100644
--- a/gcc/lto-cgraph.c
+++ b/gcc/lto-cgraph.c
@@ -1362,8 +1362,8 @@ merge_profile_summaries (struct lto_file_decl_data **file_data_vec)
{
/* Scale up the min value as we did the corresponding sum_all
above. Use that to find the new histogram index. */
- int scaled_min = RDIV (saved_profile_info->histogram[h_ix].min_value
- * saved_scale, REG_BR_PROB_BASE);
+ gcov_type scaled_min = RDIV (saved_profile_info->histogram[h_ix].min_value
+ * saved_scale, REG_BR_PROB_BASE);
/* The new index may be shared with another scaled histogram entry,
so we need to account for a non-zero histogram entry at new_ix. */
unsigned new_ix = gcov_histo_index (scaled_min);