summaryrefslogtreecommitdiff
path: root/gcc/ada/sem_res.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2013-07-08 08:10:20 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2013-07-08 08:10:20 +0000
commitab638c49baf23c89373838b0de1ae552268fbd89 (patch)
treed6f48d9fd1c23407b976f1d27ac24452feefb143 /gcc/ada/sem_res.adb
parent31d83e106293cda0d952b87441a6d7b1396cd934 (diff)
downloadgcc-ab638c49baf23c89373838b0de1ae552268fbd89.tar.gz
2013-07-08 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Expand_N_Asynchronous_Select): If the trigger of the asynchronous select is a dispatching call, transform the abortable part into a procedure, to avoid duplication of local loop variables that may appear within. 2013-07-08 Vincent Celier <celier@adacore.com> * projects.texi: Update the documentation of suffixes in package Naming. 2013-07-08 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Conforming_Types): Anonymous_access_to_subprograsm types are type conformant if the designated type of one is protected and the other is not. Convention only matters when checking subtype conformance. 2013-07-08 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Make_Call_Into_Operator): In ASIS mode, propagate back the fully resolved operands to the original function call so that all semantic information remains available to ASIS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200767 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_res.adb')
-rw-r--r--gcc/ada/sem_res.adb16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb
index 95cc437224c..9b26f096f88 100644
--- a/gcc/ada/sem_res.adb
+++ b/gcc/ada/sem_res.adb
@@ -1576,6 +1576,22 @@ package body Sem_Res is
else
Resolve (N, Typ);
end if;
+
+ -- If in ASIS_Mode, propagate operand types to original actuals of
+ -- function call, which would otherwise not be fully resolved.
+
+ if ASIS_Mode then
+ if Is_Binary then
+ Set_Parameter_Associations
+ (Original_Node (N),
+ New_List (New_Copy_Tree (Left_Opnd (N)),
+ New_Copy_Tree (Right_Opnd (N))));
+ else
+ Set_Parameter_Associations
+ (Original_Node (N),
+ New_List (New_Copy_Tree (Right_Opnd (N))));
+ end if;
+ end if;
end Make_Call_Into_Operator;
-------------------