aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_ch4.adb
diff options
context:
space:
mode:
authorEd Schonberg <schonberg@adacore.com>2015-11-18 13:55:42 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2015-11-18 14:55:42 +0100
commit43151cfd6a3cbdfb2c452b5642c86581d06c125f (patch)
treef73773bc1c7b479070a4679993a21d6823c39ee9 /gcc/ada/sem_ch4.adb
parente645cb39bb491e2a9b30ce4b7717bb2e23da0b88 (diff)
downloadgcc-43151cfd6a3cbdfb2c452b5642c86581d06c125f.zip
gcc-43151cfd6a3cbdfb2c452b5642c86581d06c125f.tar.gz
gcc-43151cfd6a3cbdfb2c452b5642c86581d06c125f.tar.bz2
sem_ch4.adb (Try_Container_Indexing): When constructing the parameter list for the potentially overloaded calls to...
2015-11-18 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Try_Container_Indexing): When constructing the parameter list for the potentially overloaded calls to indexing functions, do not propagate overloadings if the actual is a named association: overloadings appear directly on the expression in the association. 2015-11-18 Ed Schonberg <schonberg@adacore.com> * sem_type.adb (Interface_Present_In_Ancestor): If the type is incomplete, the list of ancestors is found either on the full view or the non-limited view of the type. From-SVN: r230547
Diffstat (limited to 'gcc/ada/sem_ch4.adb')
-rw-r--r--gcc/ada/sem_ch4.adb9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb
index 9ac6f8f..94ecc23 100644
--- a/gcc/ada/sem_ch4.adb
+++ b/gcc/ada/sem_ch4.adb
@@ -7437,7 +7437,14 @@ package body Sem_Ch4 is
Arg := First (Exprs);
while Present (Arg) loop
New_Arg := Relocate_Node (Arg);
- Save_Interps (Arg, New_Arg);
+
+ -- The arguments can be parameter associations, in which case the
+ -- explicit actual parameter carries the overloadings.
+
+ if Nkind (New_Arg) /= N_Parameter_Association then
+ Save_Interps (Arg, New_Arg);
+ end if;
+
Append (New_Arg, Assoc);
Next (Arg);
end loop;