]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: Store visibility properly in ExternalTypeItem
authorjjasmine <tanghocle456@gmail.com>
Sat, 9 Mar 2024 22:16:34 +0000 (17:16 -0500)
committerArthur Cohen <arthur.cohen@embecosm.com>
Thu, 1 Aug 2024 11:12:16 +0000 (13:12 +0200)
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

gcc/rust/hir/rust-ast-lower-extern.h
gcc/rust/hir/tree/rust-hir-item.h

index e92acdc44a1fc25f18f3dd9b9909b4f5b931fda6..bd889e244b01ade1f6aab70e5b4518c64beec80f 100644 (file)
@@ -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:
index 3bd0102d4dcfff4272d76a3f0ffde4adafe2e131..7e0c8c6ffca914fd150ca580e2bcb07533c99ac9 100644 (file)
@@ -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)
   {}