Commit 61e33106 by Yannick Moy Committed by Pierre-Marie de Rodat

[Ada] More precise propagation of Size attribute in generic instances

GNATprove analyzer for SPARK code depends on the frontend to accurately
propagate the known value of Size attribute. This was not done for
formal type parameters in generic instantiations. Now fixed.

There is no impact on compilation.

2019-08-21  Yannick Moy  <moy@adacore.com>

gcc/ada/

	* sem_ch3.adb (Analyze_Subtype_Declaration): Inherit RM_Size
	field for formal type parameters in generic instantiations.

From-SVN: r274788
parent e9934e8c
2019-08-21 Yannick Moy <moy@adacore.com>
* sem_ch3.adb (Analyze_Subtype_Declaration): Inherit RM_Size
field for formal type parameters in generic instantiations.
2019-08-21 Yannick Moy <moy@adacore.com>
* sem_spark.adb: Update references to the SPARK RM.
2019-08-21 Eric Botcazou <ebotcazou@adacore.com>
......
......@@ -5555,6 +5555,14 @@ package body Sem_Ch3 is
=>
Set_Ekind (Id, E_Record_Subtype);
-- Subtype declarations introduced for formal type parameters
-- in generic instantiations should inherit the Size value of
-- the type they rename.
if Present (Generic_Parent_Type (N)) then
Set_RM_Size (Id, RM_Size (T));
end if;
if Ekind (T) = E_Record_Subtype
and then Present (Cloned_Subtype (T))
then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment