aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/parse_tree.cpp4
-rw-r--r--src/parse_tree.h4
2 files changed, 5 insertions, 3 deletions
diff --git a/src/parse_tree.cpp b/src/parse_tree.cpp
index c1f1f80f..ead78a6e 100644
--- a/src/parse_tree.cpp
+++ b/src/parse_tree.cpp
@@ -1149,7 +1149,9 @@ void parse_ll_t::accept_tokens(parse_token_t token1, parse_token_t token2)
// Get the production for the top of the stack
parse_stack_element_t &stack_elem = symbol_stack.back();
parse_node_t &node = nodes.at(stack_elem.node_idx);
- const production_t *production = production_for_token(stack_elem.type, token1, token2, &node.tag);
+ parse_node_tag_t tag = 0;
+ const production_t *production = production_for_token(stack_elem.type, token1, token2, &tag);
+ node.tag = tag;
if (production == NULL)
{
parse_error_failed_production(stack_elem, token1);
diff --git a/src/parse_tree.h b/src/parse_tree.h
index b4c4b8ba..4d0ad4a6 100644
--- a/src/parse_tree.h
+++ b/src/parse_tree.h
@@ -103,10 +103,10 @@ public:
enum parse_keyword_t keyword;
/* Node flags */
- parse_node_flags_t flags;
+ parse_node_flags_t flags:4;
/* This is used to store e.g. the statement decoration. */
- parse_node_tag_t tag;
+ parse_node_tag_t tag:4;
/* Description */
wcstring describe(void) const;