nedmalloc: Fix a compile warning (exposed as error) with GCC 4.7.2
authorSebastian Schuberth <sschuberth@gmail.com>
Tue, 11 Dec 2012 20:34:51 +0000 (21:34 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 12 Dec 2012 06:10:22 +0000 (22:10 -0800)
On MinGW, GCC 4.7.2 complains about

    operation on 'p->m[end]' may be undefined

Fix this by replacing the faulty lines with those of 69825ca from

    https://github.com/ned14/nedmalloc/blob/master/nedmalloc.c

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/nedmalloc/nedmalloc.c

index d9a17a8057c5740edea3d7888c4607e63af9eddd..91c4e7f27b4063c7ceffeeb1cd43530ce18cf096 100644 (file)
@@ -603,7 +603,10 @@ static NOINLINE mstate FindMSpace(nedpool *p, threadcache *tc, int *lastUsed, si
                }
                /* We really want to make sure this goes into memory now but we
                have to be careful of breaking aliasing rules, so write it twice */
-               *((volatile struct malloc_state **) &p->m[end])=p->m[end]=temp;
+               {
+                       volatile struct malloc_state **_m=(volatile struct malloc_state **) &p->m[end];
+                       *_m=(p->m[end]=temp);
+               }
                ACQUIRE_LOCK(&p->m[end]->mutex);
                /*printf("Created mspace idx %d\n", end);*/
                RELEASE_LOCK(&p->mutex);