From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1643) id 91F07384BC3A; Fri, 14 Oct 2022 15:58:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 91F07384BC3A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1665763127; bh=yb/r71dwXb6GLsIiOpiFnWEzVkVch/Zpy7NCnCAJDk8=; h=From:To:Subject:Date:From; b=O8eXNNvhj1kDKiJU9OWctLFE2EaG3IHIb3vcVM2Y9+J47vX2TAuMxhLTiL9ln7YTq HrIENzDkN7Ux4bDtcCaL9DCuKvxfw1iz7AFLfxaPm1BLVlTJhOzKmTNagj9wYl6f47 LkmJywZGWvzVfwYJ92hMNJm60YWwsg4GhHylNoCk= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Thomas Schwinge To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/rust/master] Merge #1580 X-Act-Checkin: gcc X-Git-Author: bors[bot] <26634292+bors[bot]@users.noreply.github.com> X-Git-Refname: refs/heads/devel/rust/master X-Git-Oldrev: c85492954ded963d937de1fa8731be0718d117eb X-Git-Newrev: fa0bd801922d095893c9318ad1d0c78141c05796 Message-Id: <20221014155847.91F07384BC3A@sourceware.org> Date: Fri, 14 Oct 2022 15:58:47 +0000 (GMT) List-Id: https://gcc.gnu.org/g:fa0bd801922d095893c9318ad1d0c78141c05796 commit fa0bd801922d095893c9318ad1d0c78141c05796 Merge: c85492954de 6dca194d4b5 Author: bors[bot] <26634292+bors[bot]@users.noreply.github.com> Date: Fri Oct 14 14:41:18 2022 +0000 Merge #1580 1580: Add early name resolver r=CohenArthur a=CohenArthur This addresses our issue with name resolution (#1576) not acting on macros early enough but does not fix it yet. 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. Co-authored-by: Arthur Cohen Diff: gcc/rust/Make-lang.in | 1 + gcc/rust/ast/rust-path.h | 17 + gcc/rust/expand/rust-attribute-visitor.cc | 10 - gcc/rust/expand/rust-macro-builtins.cc | 9 +- gcc/rust/expand/rust-macro-expand.cc | 30 +- gcc/rust/expand/rust-macro-expand.h | 4 + gcc/rust/resolve/rust-ast-resolve-item.cc | 8 + gcc/rust/resolve/rust-early-name-resolver.cc | 1087 ++++++++++++++++++++++++++ gcc/rust/resolve/rust-early-name-resolver.h | 210 +++++ gcc/rust/rust-session-manager.cc | 4 + gcc/rust/util/rust-hir-map.cc | 22 + gcc/rust/util/rust-hir-map.h | 6 + 12 files changed, 1373 insertions(+), 35 deletions(-)