diff options
author | Stefan Krah <skrah@bytereef.org> | 2013-12-15 19:45:08 (GMT) |
---|---|---|
committer | Stefan Krah <skrah@bytereef.org> | 2013-12-15 19:45:08 (GMT) |
commit | 1f1ec12db9eefa36bc7a2227c40ecdfcac945439 (patch) | |
tree | 6ca3fce744e3a9da3378eab95be08c5935d64ecc /Modules | |
parent | c836a28cc1bf6c0dcbcf9c30f47b731943e21b60 (diff) | |
download | cpython-1f1ec12db9eefa36bc7a2227c40ecdfcac945439.zip cpython-1f1ec12db9eefa36bc7a2227c40ecdfcac945439.tar.gz cpython-1f1ec12db9eefa36bc7a2227c40ecdfcac945439.tar.bz2 |
Issue #19986: Avoid an incorrect warning of older gcc versions.
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/_decimal/libmpdec/mpdecimal.c | 7 |
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; } |