aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_ch4.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2017-04-28 15:48:59 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2017-04-28 15:48:59 +0200
commit40b4bc2da16cd1145b77bbeb232a2d54b937a4a3 (patch)
tree593a35eaa4e3d5676feb870ea760c54d208c97d0 /gcc/ada/sem_ch4.adb
parent66c19cd4fd18119948678367c10f57a5331a10e4 (diff)
downloadgcc-40b4bc2da16cd1145b77bbeb232a2d54b937a4a3.zip
gcc-40b4bc2da16cd1145b77bbeb232a2d54b937a4a3.tar.gz
gcc-40b4bc2da16cd1145b77bbeb232a2d54b937a4a3.tar.bz2
[multiple changes]
2017-04-28 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Complete_Object_Operation): When rewriting the controlling actual in a prefixed call, preserve the original node information if the prefix itself has been rewritten, for ASIS use. 2017-04-28 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb (Insert_Post_Call_Actions): Code clean up. Insert the post-call actions after an enclosing procedure call when N denotes a function call and appears as an actual parameter in the procedure call. 2017-04-28 Eric Botcazou <ebotcazou@adacore.com> * freeze.adb (Check_Component_Storage_Order): If there is a clause for the component, also reject the attribute if the component doesn't end on a byte boundary and its scalar storage order is different from that of the enclosing record type. From-SVN: r247391
Diffstat (limited to 'gcc/ada/sem_ch4.adb')
-rw-r--r--gcc/ada/sem_ch4.adb8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb
index a7362a7..4f2c1fd 100644
--- a/gcc/ada/sem_ch4.adb
+++ b/gcc/ada/sem_ch4.adb
@@ -8621,6 +8621,14 @@ package body Sem_Ch4 is
Actuals : List_Id;
begin
+ -- Obj may already have been rewritten if it involves an implicit
+ -- dereference (e.g. if it is an access to a limited view). Preserve
+ -- a link to the original node for ASIS use.
+
+ if not Comes_From_Source (Obj) then
+ Set_Original_Node (Dummy, Original_Node (Obj));
+ end if;
+
-- Common case covering 1) Call to a procedure and 2) Call to a
-- function that has some additional actuals.