From 5b4550ab0fb6ef28c9baa79db59ec789b998cf47 Mon Sep 17 00:00:00 2001 From: "Sven M. Hallberg" <pesco@khjk.org> Date: Tue, 8 Sep 2015 16:19:45 +0200 Subject: [PATCH] make MARK a constant that points to itself --- src/backends/llk.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/backends/llk.c b/src/backends/llk.c index ec5f7f71..898bfdcb 100644 --- a/src/backends/llk.c +++ b/src/backends/llk.c @@ -286,7 +286,7 @@ typedef struct { // execute on their corresponding result. // also on the stack below the mark, we store the previously accumulated // value for the surrounding production. -static void *MARK = (void *)-1; // stack frame delimiter +static void const * const MARK = &MARK; // stack frame delimiter static HLLkState *llk_parse_start_(HAllocator* mm__, const HParser* parser) { @@ -421,9 +421,9 @@ static HCountedArray *llk_parse_chunk_(HLLkState *s, const HParser* parser, assert(!p->items[0] || p->items[0] != x); // push stack frame - h_slist_push(stack, seq); // save current partial value - h_slist_push(stack, x); // save the nonterminal - h_slist_push(stack, MARK); // frame delimiter + h_slist_push(stack, seq); // save current partial value + h_slist_push(stack, x); // save the nonterminal + h_slist_push(stack, (void *)MARK); // frame delimiter // open a fresh result sequence seq = h_carray_new(arena); -- GitLab