aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Shah <dave@ds0.me>2020-03-30 21:14:51 +0100
committerDavid Shah <dave@ds0.me>2020-04-01 18:47:20 +0100
commitc3997c77a571ec4373aaeb1d263d2dacabf1c028 (patch)
treee4fbe9c29d4522af1f1afc85e739e70e4f34c7fd
parent0d878ca256750614fb436018dc1ef70e20e5c9e6 (diff)
downloadyosys-c3997c77a571ec4373aaeb1d263d2dacabf1c028.tar.gz
yosys-c3997c77a571ec4373aaeb1d263d2dacabf1c028.tar.bz2
yosys-c3997c77a571ec4373aaeb1d263d2dacabf1c028.zip
verilog: Add location info for generate constructs
Signed-off-by: David Shah <dave@ds0.me>
-rw-r--r--frontends/verilog/verilog_parser.y6
1 files changed, 6 insertions, 0 deletions
diff --git a/frontends/verilog/verilog_parser.y b/frontends/verilog/verilog_parser.y
index be2872e59..3f28f828d 100644
--- a/frontends/verilog/verilog_parser.y
+++ b/frontends/verilog/verilog_parser.y
@@ -2522,6 +2522,7 @@ gen_stmt:
} simple_behavioral_stmt ';' expr {
ast_stack.back()->children.push_back($6);
} ';' simple_behavioral_stmt ')' gen_stmt_block {
+ SET_AST_NODE_LOC(ast_stack.back(), @1, @11);
ast_stack.pop_back();
} |
TOK_IF '(' expr ')' {
@@ -2530,6 +2531,7 @@ gen_stmt:
ast_stack.push_back(node);
ast_stack.back()->children.push_back($3);
} gen_stmt_block opt_gen_else {
+ SET_AST_NODE_LOC(ast_stack.back(), @1, @7);
ast_stack.pop_back();
} |
case_type '(' expr ')' {
@@ -2538,6 +2540,7 @@ gen_stmt:
ast_stack.push_back(node);
} gen_case_body TOK_ENDCASE {
case_type_stack.pop_back();
+ SET_AST_NODE_LOC(ast_stack.back(), @1, @7);
ast_stack.pop_back();
} |
TOK_BEGIN {
@@ -2551,6 +2554,7 @@ gen_stmt:
exitTypeScope();
delete $3;
delete $7;
+ SET_AST_NODE_LOC(ast_stack.back(), @1, @7);
ast_stack.pop_back();
} |
TOK_MSG_TASKS {
@@ -2560,6 +2564,7 @@ gen_stmt:
ast_stack.back()->children.push_back(node);
ast_stack.push_back(node);
} opt_arg_list ';'{
+ SET_AST_NODE_LOC(ast_stack.back(), @1, @3);
ast_stack.pop_back();
};
@@ -2569,6 +2574,7 @@ gen_stmt_block:
ast_stack.back()->children.push_back(node);
ast_stack.push_back(node);
} gen_stmt_or_module_body_stmt {
+ SET_AST_NODE_LOC(ast_stack.back(), @2, @2);
ast_stack.pop_back();
};