diff options
author | Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> | 2023-06-15 13:49:43 +0200 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-01-16 18:55:58 +0100 |
commit | d31b401c8cd72a1c81c9be489a1f4f54bd6850dc (patch) | |
tree | ab34461b9c63cb7ba17165300220edd2eb00881a /gcc/rust/rust-session-manager.cc | |
parent | e3360d2ba200e334a320cb8d49257e084b4e5233 (diff) | |
download | gcc-d31b401c8cd72a1c81c9be489a1f4f54bd6850dc.zip gcc-d31b401c8cd72a1c81c9be489a1f4f54bd6850dc.tar.gz gcc-d31b401c8cd72a1c81c9be489a1f4f54bd6850dc.tar.bz2 |
gccrs: import: Change package opening prototypes
Also return a vector of proc macros when trying to open an external
crate.
gcc/rust/ChangeLog:
* metadata/rust-imports.cc (add_search_path): Change prototype,
now return a pair of Stream and procedural macro vector.
(Import::open_package): Likewise.
(Import::try_package_in_directory): Likewise.
* metadata/rust-imports.h: Likewise.
* rust-session-manager.cc (Session::load_extern_crate):
Likewise.
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Diffstat (limited to 'gcc/rust/rust-session-manager.cc')
-rw-r--r-- | gcc/rust/rust-session-manager.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc index cc3a208..9806cfc 100644 --- a/gcc/rust/rust-session-manager.cc +++ b/gcc/rust/rust-session-manager.cc @@ -979,7 +979,7 @@ Session::load_extern_crate (const std::string &crate_name, location_t locus) // -frust-extern auto cli_extern_crate = extern_crates.find (crate_name); - Import::Stream *s; + std::pair<Import::Stream *, std::vector<ProcMacro::Procmacro>> s; if (cli_extern_crate != extern_crates.end ()) { auto path = cli_extern_crate->second; @@ -989,14 +989,14 @@ Session::load_extern_crate (const std::string &crate_name, location_t locus) { s = Import::open_package (import_name, locus, relative_import_path); } - if (s == NULL) + if (s.first == NULL) { rust_error_at (locus, "failed to locate crate %<%s%>", import_name.c_str ()); return UNKNOWN_NODEID; } - Imports::ExternCrate extern_crate (*s); + Imports::ExternCrate extern_crate (*s.first); bool ok = extern_crate.load (locus); if (!ok) { |