summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Krah <skrah@bytereef.org>2013-12-15 19:45:08 (GMT)
committerStefan Krah <skrah@bytereef.org>2013-12-15 19:45:08 (GMT)
commit1f1ec12db9eefa36bc7a2227c40ecdfcac945439 (patch)
tree6ca3fce744e3a9da3378eab95be08c5935d64ecc
parentc836a28cc1bf6c0dcbcf9c30f47b731943e21b60 (diff)
downloadcpython-1f1ec12db9eefa36bc7a2227c40ecdfcac945439.zip
cpython-1f1ec12db9eefa36bc7a2227c40ecdfcac945439.tar.gz
cpython-1f1ec12db9eefa36bc7a2227c40ecdfcac945439.tar.bz2
Issue #19986: Avoid an incorrect warning of older gcc versions.
-rw-r--r--Modules/_decimal/libmpdec/mpdecimal.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/Modules/_decimal/libmpdec/mpdecimal.c b/Modules/_decimal/libmpdec/mpdecimal.c
index 05fd04d..21d2222 100644
--- a/Modules/_decimal/libmpdec/mpdecimal.c
+++ b/Modules/_decimal/libmpdec/mpdecimal.c
@@ -4421,21 +4421,22 @@ mpd_qfma(mpd_t *result, const mpd_t *a, const mpd_t *b, const mpd_t *c,
const mpd_context_t *ctx, uint32_t *status)
{
uint32_t workstatus = 0;
- const mpd_t *cc = c;
+ mpd_t *cc = NULL;
if (result == c) {
if ((cc = mpd_qncopy(c)) == NULL) {
mpd_seterror(result, MPD_Malloc_error, status);
return;
}
+ c = cc;
}
_mpd_qmul(result, a, b, ctx, &workstatus);
if (!(workstatus&MPD_Invalid_operation)) {
- mpd_qadd(result, result, cc, ctx, &workstatus);
+ mpd_qadd(result, result, c, ctx, &workstatus);
}
- if (cc != c) mpd_del((mpd_t *)cc);
+ if (cc) mpd_del(cc);
*status |= workstatus;
}