From 50a2d3be7bf473c7590f77350fadf3471427ce09 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Tue, 29 Oct 2019 09:45:06 +0100 Subject: Fix unsigned type overflow in memory report. 2019-10-29 Martin Liska * ggc-common.c: One can't subtract unsigned types in compare function. From-SVN: r277560 --- gcc/ggc-common.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'gcc/ggc-common.c') diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c index 37d3c5d..48db420 100644 --- a/gcc/ggc-common.c +++ b/gcc/ggc-common.c @@ -928,10 +928,13 @@ public: static int compare (const void *first, const void *second) { - const mem_pair_t f = *(const mem_pair_t *)first; - const mem_pair_t s = *(const mem_pair_t *)second; + const mem_pair_t mem1 = *(const mem_pair_t *) first; + const mem_pair_t mem2 = *(const mem_pair_t *) second; - return s.second->get_balance () - f.second->get_balance (); + size_t balance1 = mem1.second->get_balance (); + size_t balance2 = mem2.second->get_balance (); + + return balance1 == balance2 ? 0 : (balance1 < balance2 ? 1 : -1); } /* Dump header with NAME. */ -- cgit v1.1