diff options
author | Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> | 2024-08-21 17:14:46 +0200 |
---|---|---|
committer | P-E-P <32375388+P-E-P@users.noreply.github.com> | 2024-09-26 22:48:32 +0000 |
commit | ab8a0b5cc06c23cea99124ef60d717ac198fc063 (patch) | |
tree | c061ed0002ad5305b3a6b8e52acf30bec6e5159d /gcc/input.h | |
parent | 76131dd1d561bdc2064e9f91ed19c275d09e7166 (diff) | |
download | gcc-ab8a0b5cc06c23cea99124ef60d717ac198fc063.zip gcc-ab8a0b5cc06c23cea99124ef60d717ac198fc063.tar.gz gcc-ab8a0b5cc06c23cea99124ef60d717ac198fc063.tar.bz2 |
Loop on expansion if a new export has been defined
When a use statement requires a reexported item it cannot find it in
the same pass, an additional pass shall be performed. This means we need
to detect whether a new item has been reexported and resolve until the
end.
gcc/rust/ChangeLog:
* resolve/rust-early-name-resolver-2.0.cc (Early::Early): Add dirty
flag initialization.
(Early::go): Set dirty flag using top level resolver.
* resolve/rust-early-name-resolver-2.0.h: Add dirty flag.
* resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::TopLevel):
Initialize dirty flag.
(TopLevel::insert_or_error_out): Set dirty flag on successful
namespace modification.
* resolve/rust-toplevel-name-resolver-2.0.h: Add dirty flag.
* rust-session-manager.cc (Session::expansion): Modify fixed point
condition to include name resolution modifications.
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Diffstat (limited to 'gcc/input.h')
0 files changed, 0 insertions, 0 deletions