summaryrefslogtreecommitdiff
path: root/parse.c
diff options
context:
space:
mode:
authorLeo Tenenbaum <pommicket@gmail.com>2020-02-27 12:12:04 -0500
committerLeo Tenenbaum <pommicket@gmail.com>2020-02-27 12:12:04 -0500
commit982d900343b8a7d9405c68d3ab176ad180858c4c (patch)
tree5f0875719226b0f1ce33c6c47e14061061aea601 /parse.c
parentcb29bbe47fa67b9da183d39f343f7923c2ddaa7b (diff)
forced #include
Diffstat (limited to 'parse.c')
-rw-r--r--parse.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/parse.c b/parse.c
index 44b4d25..a9d7ba9 100644
--- a/parse.c
+++ b/parse.c
@@ -1853,6 +1853,7 @@ static Status parse_expr(Parser *p, Expression *e, Token *end) {
case DIRECT_FOREIGN:
case DIRECT_EXPORT:
case DIRECT_INCLUDE:
+ case DIRECT_FORCE:
tokr_err(t, "Unrecognized expression.");
return false;
case DIRECT_COUNT: assert(0); break;
@@ -2172,6 +2173,11 @@ static Status parse_stmt(Parser *p, Statement *s, bool *was_a_statement) {
case DIRECT_INCLUDE: {
++t->token;
s->kind = STMT_INCLUDE;
+ s->inc.flags = 0;
+ if (token_is_direct(t->token, DIRECT_FORCE)) {
+ s->inc.flags |= INC_FORCED;
+ ++t->token;
+ }
if (!parse_expr(p, &s->inc.filename, expr_find_end(p, EXPR_CAN_END_WITH_COMMA)))
return false;
if (token_is_kw(t->token, KW_COMMA)) {