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
This commit is contained in:
parent
e645cb39bb
commit
43151cfd6a
@ -1,3 +1,17 @@
|
||||
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.
|
||||
|
||||
2015-11-18 Nicolas Roche <roche@adacore.com>
|
||||
|
||||
* sysdep.c (__gnat_localtime_tzoff): On Windows platform
|
||||
|
@ -7437,7 +7437,14 @@ package body Sem_Ch4 is
|
||||
Arg := First (Exprs);
|
||||
while Present (Arg) loop
|
||||
New_Arg := Relocate_Node (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;
|
||||
|
@ -2619,8 +2619,16 @@ package body Sem_Type is
|
||||
end if;
|
||||
|
||||
if Ekind (Target_Typ) = E_Incomplete_Type then
|
||||
|
||||
-- We must have either a full view or a non-limited view of the type
|
||||
-- to locate the list of ancestors.
|
||||
|
||||
if Present (Full_View (Target_Typ)) then
|
||||
Target_Typ := Full_View (Target_Typ);
|
||||
else
|
||||
pragma Assert (Present (Non_Limited_View (Target_Typ)));
|
||||
Target_Typ := Non_Limited_View (Target_Typ);
|
||||
end if;
|
||||
|
||||
-- Protect the frontend against previously detected errors
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user