From 4dd2ed1495378681b58c2e7ff5c1cc5511882a2d Mon Sep 17 00:00:00 2001 From: Ed Schonberg Date: Mon, 16 Jul 2018 14:12:09 +0000 Subject: [PATCH] [Ada] Unnesting: handle 'Address references that are calls 2018-07-16 Ed Schonberg gcc/ada/ * exp_unst.adb (Visit_Node): Handle 'Address references that are calls. From-SVN: r262726 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/exp_unst.adb | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 13428e986ba..8b79b00a0e8 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2018-07-16 Ed Schonberg + + * exp_unst.adb (Visit_Node): Handle 'Address references that are + calls. + 2018-07-16 Ed Schonberg * exp_unst.adb (Visit_Node): Handle the semantic of Storage_Pool field diff --git a/gcc/ada/exp_unst.adb b/gcc/ada/exp_unst.adb index 464eaa036f8..ef5ab4a366d 100644 --- a/gcc/ada/exp_unst.adb +++ b/gcc/ada/exp_unst.adb @@ -859,7 +859,8 @@ package body Exp_Unst is end; end if; - -- A 'Access reference is a (potential) call. Other attributes + -- A 'Access reference is a (potential) call. So is 'Address, + -- in particular on imported subprograms. Other attributes -- require special handling. when N_Attribute_Reference => @@ -871,6 +872,7 @@ package body Exp_Unst is when Attribute_Access | Attribute_Unchecked_Access | Attribute_Unrestricted_Access + | Attribute_Address => if Nkind (Prefix (N)) in N_Has_Entity then Ent := Entity (Prefix (N)); -- 2.30.2