aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/resolve/rust-ast-resolve-expr.cc
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2022-10-11 11:12:50 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2023-02-21 12:36:33 +0100
commit522197469179e786e59202a40f2adf9dd95c8ddd (patch)
tree15ad092a7c98a6ee9676277013f45eb145a43276 /gcc/rust/resolve/rust-ast-resolve-expr.cc
parent2f1035fc91ce1b9dd6e08d47befefff6b2b878db (diff)
downloadgcc-522197469179e786e59202a40f2adf9dd95c8ddd.zip
gcc-522197469179e786e59202a40f2adf9dd95c8ddd.tar.gz
gcc-522197469179e786e59202a40f2adf9dd95c8ddd.tar.bz2
gccrs: early-name-resolver: Add simple macro name resolution
This name resolver performs the same macro name resolution as what was previously done by the AttrVisitor visitor and macro expander. It also resolves macro expressions in builtin-macros properly, as well as expanded AST nodes when necessary. gcc/rust/ChangeLog: * Make-lang.in: Compile early name resolver. * expand/rust-attribute-visitor.cc (AttrVisitor::visit): Move macro name resolution. * expand/rust-macro-builtins.cc (try_expand_macro_expression): Run ENR when recursively expanding macros. * expand/rust-macro-expand.cc (MacroExpander::expand_invoc): No longer perform name resolution in `expand_invoc`. * expand/rust-macro-expand.h (struct MacroExpander): Keep ENR within MacroExpander. * rust-session-manager.cc (Session::expansion): Run ENR. * resolve/rust-early-name-resolver.cc: New file. * resolve/rust-early-name-resolver.h: New file.
Diffstat (limited to 'gcc/rust/resolve/rust-ast-resolve-expr.cc')
0 files changed, 0 insertions, 0 deletions