aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/hir
diff options
context:
space:
mode:
authorjjasmine <tanghocle456@gmail.com>2024-03-09 17:16:34 -0500
committerArthur Cohen <arthur.cohen@embecosm.com>2024-08-01 13:12:16 +0200
commit8c0b6506cb42f2ba5fcea63fbc56994486d3c3ab (patch)
tree0639fe420930cf55001bf12086aa4698de4b7050 /gcc/rust/hir
parenta7b1a89da13b70fa81e12a4dc873c96ce38e1327 (diff)
downloadgcc-8c0b6506cb42f2ba5fcea63fbc56994486d3c3ab.zip
gcc-8c0b6506cb42f2ba5fcea63fbc56994486d3c3ab.tar.gz
gcc-8c0b6506cb42f2ba5fcea63fbc56994486d3c3ab.tar.bz2
gccrs: Store visibility properly in ExternalTypeItem
Fix issue 2897 gcc/rust/ChangeLog: * hir/rust-ast-lower-extern.h: Add translate_visiblity * hir/tree/rust-hir-item.h: Fix constructor of ExternalTypeItem
Diffstat (limited to 'gcc/rust/hir')
-rw-r--r--gcc/rust/hir/rust-ast-lower-extern.h4
-rw-r--r--gcc/rust/hir/tree/rust-hir-item.h4
2 files changed, 5 insertions, 3 deletions
diff --git a/gcc/rust/hir/rust-ast-lower-extern.h b/gcc/rust/hir/rust-ast-lower-extern.h
index e92acdc..bd889e2 100644
--- a/gcc/rust/hir/rust-ast-lower-extern.h
+++ b/gcc/rust/hir/rust-ast-lower-extern.h
@@ -133,8 +133,10 @@ public:
mappings->get_next_hir_id (crate_num),
mappings->get_next_localdef_id (crate_num));
+ HIR::Visibility vis = translate_visibility (type.get_visibility ());
+
translated = new HIR::ExternalTypeItem (mapping, type.get_identifier (),
- type.get_locus ());
+ vis, type.get_locus ());
}
private:
diff --git a/gcc/rust/hir/tree/rust-hir-item.h b/gcc/rust/hir/tree/rust-hir-item.h
index 3bd0102..7e0c8c6 100644
--- a/gcc/rust/hir/tree/rust-hir-item.h
+++ b/gcc/rust/hir/tree/rust-hir-item.h
@@ -3154,9 +3154,9 @@ class ExternalTypeItem : public ExternalItem
{
public:
ExternalTypeItem (Analysis::NodeMapping mappings, Identifier item_name,
- location_t locus)
+ Visibility vis, location_t locus)
: ExternalItem (std::move (mappings), std::move (item_name),
- Visibility (Visibility::PRIVATE),
+ Visibility (std::move (vis)),
/* FIXME: Is that correct? */
{}, locus)
{}