[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
This commit is contained in:
parent
8c6fc01486
commit
b516a1a96b
@ -1,3 +1,9 @@
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user