aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/rust-session-manager.cc
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2023-06-15 13:49:43 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2024-01-16 18:55:58 +0100
commitd31b401c8cd72a1c81c9be489a1f4f54bd6850dc (patch)
treeab34461b9c63cb7ba17165300220edd2eb00881a /gcc/rust/rust-session-manager.cc
parente3360d2ba200e334a320cb8d49257e084b4e5233 (diff)
downloadgcc-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.cc6
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)
{