From: Martin Liska Date: Fri, 25 Sep 2020 14:21:34 +0000 (+0200) Subject: gcov: fix streaming of HIST_TYPE_IOR histogram type. X-Git-Tag: releases/gcc-10.3.0~824 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=84dc3879f377ddaecb4054a7bf7671114dfb7228;p=thirdparty%2Fgcc.git gcov: fix streaming of HIST_TYPE_IOR histogram type. gcc/ChangeLog: PR gcov-profile/64636 * value-prof.c (stream_out_histogram_value): Allow negative values for HIST_TYPE_IOR. (cherry picked from commit 1921ebcaf6467996aede69e1bbe32400d8a20fe7) --- diff --git a/gcc/value-prof.c b/gcc/value-prof.c index 45677be46b1e..9d60b56c43aa 100644 --- a/gcc/value-prof.c +++ b/gcc/value-prof.c @@ -332,7 +332,10 @@ stream_out_histogram_value (struct output_block *ob, histogram_value hist) /* When user uses an unsigned type with a big value, constant converted to gcov_type (a signed type) can be negative. */ gcov_type value = hist->hvalue.counters[i]; - if (hist->type == HIST_TYPE_TOPN_VALUES) + if (hist->type == HIST_TYPE_TOPN_VALUES + || hist->type == HIST_TYPE_IOR) + /* Note that the IOR counter tracks pointer values and these can have + sign bit set. */ ; else gcc_assert (value >= 0);