diff options
author | Jannis Harder <me@jix.one> | 2023-03-10 16:14:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-10 16:14:56 +0100 |
commit | c50f641812deed626bc9ecbfe171f56f36bf8432 (patch) | |
tree | 0344e0d36e05dc8e9de1a9309d4c509f8cb92ba5 /frontends/ast/ast.cc | |
parent | baa3659ea54aed3a714ed2fcb8b5242f5332ef37 (diff) | |
parent | 1af7d6121f697b60e6eaabcabd50c49c90d09402 (diff) | |
download | yosys-c50f641812deed626bc9ecbfe171f56f36bf8432.tar.gz yosys-c50f641812deed626bc9ecbfe171f56f36bf8432.tar.bz2 yosys-c50f641812deed626bc9ecbfe171f56f36bf8432.zip |
Merge pull request #3682 from daglem/struct-member-out-of-bounds
Out of bounds checking for struct/union members
Diffstat (limited to 'frontends/ast/ast.cc')
-rw-r--r-- | frontends/ast/ast.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/frontends/ast/ast.cc b/frontends/ast/ast.cc index 982943d1b..5a2ade04a 100644 --- a/frontends/ast/ast.cc +++ b/frontends/ast/ast.cc @@ -524,7 +524,13 @@ void AstNode::dumpVlog(FILE *f, std::string indent) const break; case AST_IDENTIFIER: - fprintf(f, "%s", id2vl(str).c_str()); + { + AST::AstNode *member_node = AST::get_struct_member(this); + if (member_node) + fprintf(f, "%s[%d:%d]", id2vl(str).c_str(), member_node->range_left, member_node->range_right); + else + fprintf(f, "%s", id2vl(str).c_str()); + } for (auto child : children) child->dumpVlog(f, ""); break; |