Commit b516a1a9 by Ed Schonberg Committed by Pierre-Marie de Rodat

[Ada] Unnesting: improve handling of bounds for formal parameters

2018-06-11  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* exp_unst.adb (Visit_Node): Check reference to formal parameter of
	current procedure, because the bounds of its type may be uplevel
	references.

From-SVN: r261394
parent 8c6fc014
2018-06-11 Ed Schonberg <schonberg@adacore.com>
* exp_unst.adb (Visit_Node): Check reference to formal parameter of
current procedure, because the bounds of its type may be uplevel
references.
2018-06-02 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: If this is
......
......@@ -999,6 +999,20 @@ package body Exp_Unst is
and then not Is_Static_Type (Ent)
then
Note_Uplevel_Ref (Ent, N, Caller, Callee);
-- Check the type of a formal parameter of the current
-- subprogram, whose formal type may be an uplevel
-- reference.
elsif Is_Formal (Ent)
and then Scope (Ent) = Current_Subprogram
then
declare
DT : Boolean := False;
begin
Check_Static_Type (Etype (Ent), Empty, DT);
end;
end if;
end if;
end if;
......
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