https://gcc.gnu.org/g:9fbf129bade8014d1fd7ab8ecd255df7e12570f0
commit r15-747-g9fbf129bade8014d1fd7ab8ecd255df7e12570f0 Author: Eric Botcazou <ebotca...@adacore.com> Date: Fri Mar 29 09:08:08 2024 +0100 ada: Simplify test for propagation of attributes to subtypes This changes the test to use the Is_Base_Type predicate and also removes the superfluous call to Base_Type before First_Subtype. No functional changes. gcc/ada/ * gcc-interface/decl.cc (gnat_to_gnu_entity): Use the Is_Base_Type predicate and remove superfluous calls to Base_Type. Diff: --- gcc/ada/gcc-interface/decl.cc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gcc/ada/gcc-interface/decl.cc b/gcc/ada/gcc-interface/decl.cc index 6e40a157734..f6a4c0631b6 100644 --- a/gcc/ada/gcc-interface/decl.cc +++ b/gcc/ada/gcc-interface/decl.cc @@ -506,11 +506,10 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, bool definition) /* Machine_Attributes on types are expected to be propagated to subtypes. The corresponding Gigi_Rep_Items are only attached to the first subtype though, so we handle the propagation here. */ - if (Base_Type (gnat_entity) != gnat_entity + if (!Is_Base_Type (gnat_entity) && !Is_First_Subtype (gnat_entity) - && Has_Gigi_Rep_Item (First_Subtype (Base_Type (gnat_entity)))) - prepend_attributes (&attr_list, - First_Subtype (Base_Type (gnat_entity))); + && Has_Gigi_Rep_Item (First_Subtype (gnat_entity))) + prepend_attributes (&attr_list, First_Subtype (gnat_entity)); /* Compute a default value for the size of an elementary type. */ if (Known_Esize (gnat_entity) && Is_Elementary_Type (gnat_entity))