summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--byterun/memory.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/byterun/memory.h b/byterun/memory.h
index e5f0bfa3d..f5e74b114 100644
--- a/byterun/memory.h
+++ b/byterun/memory.h
@@ -79,12 +79,12 @@ color_t allocation_color (void *hp);
} \
-typedef struct caml__roots_block {
+struct caml__roots_block {
struct caml__roots_block *next;
long ntables;
long nitems;
value *tables [5];
-} caml__roots_block;
+};
extern struct caml__roots_block *local_roots; /* defined in roots.c */
@@ -233,6 +233,11 @@ extern struct caml__roots_block *local_roots; /* defined in roots.c */
(caml__roots_##x.tables [0] = &(x [0])), \
NULL)
+/* WARNING: [CAMLreturn] cannot be used exactly in the same places
+ as [return] : in an [if] statement, you must use a pair of braces
+ even if the [CAMLreturn] "statement" is the only statement in the
+ branch.
+*/
#define CAMLreturn /*argument*/\
local_roots = caml__frame; \
return /*argument*/