[Python-checkins] cpython (3.3): Issue #19986: Avoid an incorrect warning of older gcc versions.

stefan.krah python-checkins at python.org
Sun Dec 15 21:03:32 CET 2013


http://hg.python.org/cpython/rev/274b293435fb
changeset:   87968:274b293435fb
branch:      3.3
parent:      87959:a3de2b3881c1
user:        Stefan Krah <skrah at bytereef.org>
date:        Sun Dec 15 20:45:08 2013 +0100
summary:
  Issue #19986: Avoid an incorrect warning of older gcc versions.

files:
  Modules/_decimal/libmpdec/mpdecimal.c |  11 ++++++-----
  1 files changed, 6 insertions(+), 5 deletions(-)


diff --git a/Modules/_decimal/libmpdec/mpdecimal.c b/Modules/_decimal/libmpdec/mpdecimal.c
--- a/Modules/_decimal/libmpdec/mpdecimal.c
+++ b/Modules/_decimal/libmpdec/mpdecimal.c
@@ -4421,21 +4421,22 @@
          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);
-    }
-
-    if (cc != c) mpd_del((mpd_t *)cc);
+        mpd_qadd(result, result, c, ctx, &workstatus);
+    }
+
+    if (cc) mpd_del(cc);
     *status |= workstatus;
 }
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list