threads / patch / 32314

patchnedmalloc: Fix a compile warning (exposed as error) with GCC 4.7.2

Subject: [PATCH] nedmalloc: Fix a compile warning (exposed as error) with GCC 4.7.2

## tl;dr

One message between Dec 11, 2012 and Dec 11, 2012. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Sebastian Schuberth· Dec 11, 2012, 20:34 UTC · lore
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>
---
 compat/nedmalloc/nedmalloc.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
Show changes to compat/nedmalloc/nedmalloc.c +4 −1
diff --git a/compat/nedmalloc/nedmalloc.c b/compat/nedmalloc/nedmalloc.c
index d9a17a8..91c4e7f 100644
--- a/compat/nedmalloc/nedmalloc.c
+++ b/compat/nedmalloc/nedmalloc.c
@@ -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);
-- 
1.8.0.msysgit.1

← back to recent threads