diff options
author | Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> | 2023-06-15 13:58:08 +0200 |
---|---|---|
committer | P-E-P <32375388+P-E-P@users.noreply.github.com> | 2023-07-21 09:06:09 +0000 |
commit | 6b4f24c1ca6aabe95b24f3060503d419824ec78b (patch) | |
tree | 2efc8d0fc5acb943f8dda030fb8fb56f97036eb2 /gcc | |
parent | d2e353637897b091bed59d6bb98c1e5f98022a6c (diff) | |
download | gcc-6b4f24c1ca6aabe95b24f3060503d419824ec78b.zip gcc-6b4f24c1ca6aabe95b24f3060503d419824ec78b.tar.gz gcc-6b4f24c1ca6aabe95b24f3060503d419824ec78b.tar.bz2 |
import: Store procedural macros in extern crate
Store procedural macro data in extern crate node.
gcc/rust/ChangeLog:
* metadata/rust-extern-crate.cc (ExternCrate::ExternCrate):
Change constructor to accept procedural macro vector.
* metadata/rust-extern-crate.h: Add vector of procecural macro
in extern crate.
* rust-session-manager.cc (Session::load_extern_crate): Add
argument to new constructor call.
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/metadata/rust-extern-crate.cc | 5 | ||||
-rw-r--r-- | gcc/rust/metadata/rust-extern-crate.h | 4 | ||||
-rw-r--r-- | gcc/rust/rust-session-manager.cc | 2 |
3 files changed, 8 insertions, 3 deletions
diff --git a/gcc/rust/metadata/rust-extern-crate.cc b/gcc/rust/metadata/rust-extern-crate.cc index b18860b..bbb9945 100644 --- a/gcc/rust/metadata/rust-extern-crate.cc +++ b/gcc/rust/metadata/rust-extern-crate.cc @@ -25,7 +25,10 @@ namespace Rust { namespace Imports { -ExternCrate::ExternCrate (Import::Stream &stream) : import_stream (stream) {} +ExternCrate::ExternCrate (Import::Stream &stream, + std::vector<ProcMacro::Procmacro> macros) + : import_stream (stream), proc_macros (macros) +{} ExternCrate::~ExternCrate () {} diff --git a/gcc/rust/metadata/rust-extern-crate.h b/gcc/rust/metadata/rust-extern-crate.h index de3c37a..17a3f70 100644 --- a/gcc/rust/metadata/rust-extern-crate.h +++ b/gcc/rust/metadata/rust-extern-crate.h @@ -28,7 +28,8 @@ namespace Imports { class ExternCrate { public: - ExternCrate (Import::Stream &stream); + ExternCrate (Import::Stream &stream, + std::vector<ProcMacro::Procmacro> macros); ~ExternCrate (); bool ok () const; @@ -44,6 +45,7 @@ public: private: Import::Stream &import_stream; + std::vector<ProcMacro::Procmacro> proc_macros; std::string crate_name; std::string metadata_buffer; diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc index 47ec515..72b82f6 100644 --- a/gcc/rust/rust-session-manager.cc +++ b/gcc/rust/rust-session-manager.cc @@ -996,7 +996,7 @@ Session::load_extern_crate (const std::string &crate_name, location_t locus) return UNKNOWN_NODEID; } - Imports::ExternCrate extern_crate (*s.first); + Imports::ExternCrate extern_crate (*s.first, s.second); bool ok = extern_crate.load (locus); if (!ok) { |