sem_res.adb (Resolve_Entry_Call): When an entry has preconditions...
2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Entry_Call): When an entry has preconditions, the entry call is wrapped in a procedure call that incorporates the precondition checks. To prevent a double expansion, with possible duplication of extra formals, that procedure call must only be pre-analyzed and resolved. Expansion takes place upon return to the caller Resolve_Call. From-SVN: r213461
This commit is contained in:
parent
10671e7aff
commit
ecda544d41
@ -1,3 +1,12 @@
|
||||
2014-08-01 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_res.adb (Resolve_Entry_Call): When an entry has
|
||||
preconditions, the entry call is wrapped in a procedure call
|
||||
that incorporates the precondition checks. To prevent a double
|
||||
expansion, with possible duplication of extra formals, that
|
||||
procedure call must only be pre-analyzed and resolved. Expansion
|
||||
takes place upon return to the caller Resolve_Call.
|
||||
|
||||
2014-08-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||||
|
||||
* sem_res.adb (Resolve_Call): Do not perform
|
||||
|
@ -7176,7 +7176,11 @@ package body Sem_Res is
|
||||
New_Occurrence_Of (PPC_Wrapper (Nam), Loc),
|
||||
Parameter_Associations => New_Actuals);
|
||||
Rewrite (N, New_Call);
|
||||
Analyze_And_Resolve (N);
|
||||
|
||||
-- Preanalyze and resolve new call. Current procedure is called
|
||||
-- from Resolve_Call, after which expansion will take place.
|
||||
|
||||
Preanalyze_And_Resolve (N);
|
||||
return;
|
||||
end;
|
||||
end if;
|
||||
|
Loading…
Reference in New Issue
Block a user