From: Martin Liska Date: Thu, 23 Jun 2022 20:59:11 +0000 (+0200) Subject: profile-count: fix /= and *= operators X-Git-Tag: basepoints/gcc-14~5967 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=268b5c81e93ac3ff44fc8ace22ce504d8faa4b07;p=thirdparty%2Fgcc.git profile-count: fix /= and *= operators PR middle-end/106059 gcc/ChangeLog: * profile-count.h: *= and /= operators need to modify this object. --- diff --git a/gcc/profile-count.h b/gcc/profile-count.h index be6e2d57cf7..141a8827001 100644 --- a/gcc/profile-count.h +++ b/gcc/profile-count.h @@ -605,9 +605,10 @@ public: return apply_scale (num, 1); } - profile_probability operator*= (int64_t den) const + profile_probability operator*= (int64_t num) { - return *this * den; + *this = apply_scale (num, 1); + return *this; } profile_probability operator/ (int64_t den) const @@ -615,9 +616,10 @@ public: return apply_scale (1, den); } - profile_probability operator/= (int64_t den) const + profile_probability operator/= (int64_t den) { - return *this / den; + *this = apply_scale (1, den); + return *this; } /* Get the value of the count. */ @@ -1017,9 +1019,10 @@ public: return apply_scale (num, 1); } - profile_count operator*= (int64_t den) const + profile_count operator*= (int64_t num) { - return *this * den; + *this = apply_scale (num, 1); + return *this; } profile_count operator/ (int64_t den) const @@ -1027,9 +1030,10 @@ public: return apply_scale (1, den); } - profile_count operator/= (int64_t den) const + profile_count operator/= (int64_t den) { - return *this / den; + *this = apply_scale (1, den); + return *this; } /* Return true when value is not zero and can be used for scaling.