+2018-09-26 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): For a
+ representation item that is an N_Aspect_Definition, retrieve the
+ entity it applies to using the Entity attribute.
+
2018-09-26 Justin Squirek <squirek@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming): Add extra condition
-- specification node whose correponding pragma (if any) is present in
-- the Rep Item chain of the entity it has been specified to.
+ function Rep_Item_Entity (Rep_Item : Node_Id) return Entity_Id;
+ -- Return the entity for which Rep_Item is specified
+
+ ---------------------
+ -- Rep_Item_Entity --
+ ---------------------
+
+ function Rep_Item_Entity (Rep_Item : Node_Id) return Entity_Id is
+ begin
+ if Nkind (Rep_Item) = N_Aspect_Specification then
+ return Entity (Rep_Item);
+
+ else
+ pragma Assert (Nkind_In (Rep_Item,
+ N_Pragma,
+ N_Attribute_Definition_Clause));
+ return Entity (Name (Rep_Item));
+ end if;
+ end Rep_Item_Entity;
+
--------------------------------------------------
-- Is_Pragma_Or_Corr_Pragma_Present_In_Rep_Item --
--------------------------------------------------
and then Has_Rep_Item (Typ, Name_Bit_Order)
then
Set_Reverse_Bit_Order (Bas_Typ,
- Reverse_Bit_Order (Entity (Name
- (Get_Rep_Item (Typ, Name_Bit_Order)))));
+ Reverse_Bit_Order (Rep_Item_Entity
+ (Get_Rep_Item (Typ, Name_Bit_Order))));
end if;
end if;
+2018-09-26 Thomas Quinot <quinot@adacore.com>
+
+ * gnat.dg/sso13.adb: New testcase.
+
2018-09-26 Justin Squirek <squirek@adacore.com>
* gnat.dg/warn16.adb: New testcase.
--- /dev/null
+-- { dg-do compile }
+
+with System;
+
+procedure SSO13 is
+ type Pulse_Buffer_Type is abstract tagged null record
+ with Bit_Order => System.High_Order_First,
+ Scalar_Storage_order =>System.High_order_First; -- { dg-warning "scalar storage order specified but no component clause" }
+ type Pulse_Train_Type is abstract new Pulse_Buffer_Type with null record;
+ type WO_Pulse_Train_Type is new Pulse_Train_Type with null record;
+ type WO_Confirmation_Pulse_Train_Type is new WO_Pulse_Train_Type with record
+ null;
+ end record;
+
+ type Update_Dwell_Type is abstract tagged null record
+ with Bit_Order => System.High_Order_First,
+ Scalar_Storage_order =>System.High_order_First; -- { dg-warning "scalar storage order specified but no component clause" }
+ type Confirmation_Dwell_Type is new Update_Dwell_Type with
+ record
+ Pulses : aliased WO_Pulse_Train_Type; -- (Location of Error #1)
+ end record;
+begin
+ null;
+end;