summaryrefslogtreecommitdiff
path: root/gcc/varray.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/varray.h')
-rw-r--r--gcc/varray.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/varray.h b/gcc/varray.h
index df3ca313e85..eb5a44e1a8b 100644
--- a/gcc/varray.h
+++ b/gcc/varray.h
@@ -124,7 +124,8 @@ extern varray_type varray_init PROTO ((size_t, size_t, const char *));
/* Free up memory allocated by the virtual array, but do not free any of the
elements involved. */
-#define VARRAY_FREE(vp) ((vp) && (free (vp), (vp = (varray_type)0)))
+#define VARRAY_FREE(vp) \
+ do { if (vp) { free (vp); vp = (varray_type)0; } } while (0)
/* Grow/shrink the virtual array VA to N elements. */
extern varray_type varray_grow PROTO((varray_type, size_t));