restrict.ads (No_Dispatching_Calls): New GNAT restriction.
authorJavier Miranda <miranda@adacore.com>
Wed, 15 Feb 2006 09:43:23 +0000 (10:43 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 15 Feb 2006 09:43:23 +0000 (10:43 +0100)
commit3bcd6930a9492b00032d996ab3c700272d878f1e
treec9786568eb60998e3bee26aa25ade22c4bfd8302
parente4ffa8adc765fc1af90972d6d5a7ac1959792412
restrict.ads (No_Dispatching_Calls): New GNAT restriction.

2006-02-13  Javier Miranda  <miranda@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* restrict.ads (No_Dispatching_Calls): New GNAT restriction.

* sem_disp.adb (Override_Dispatching_Operation): Traverse the list of
aliased entities to look for the overriden abstract interface
subprogram.
(Is_Interface_Subprogram): Complete documentation.
(Check_Dispatching_Operation): Do not generate code to register the
operation in the dispatch table if the source is compiled with
restriction No_Dispatching_Calls.
(Override_Dispatching_Operation): Check for illegal attempt to override
No_Return procedure with procedure that is not No_Return
(Check_Dispatching_Call): Suppress the check for an abstract operation
when the original node of an actual is a tag-indeterminate attribute
call, since the attribute, which must be 'Input, can never be abstract.
(Is_Tag_Indeterminate): Handle checking of tag indeterminacy of a
call to the Input attribute (even when rewritten).
(Propagate_Tag): Augment comment to indicate the possibility of a call
to an Input attribute.

* sem_disp.ads (Override_Dispatching_Operation): Moved to spec to allow
calling it from Exp_Ch3.Make_Controlling_Function_Wrappers.

* s-rident.ads: (No_Dispatching_Calls): New GNAT restriction.
No_Wide_Characters is no longer partition-wide
No_Implementation_Attributes/Pragmas are now Ada 2005 (AI-257)
rather than GNAT

From-SVN: r111086
gcc/ada/restrict.ads
gcc/ada/s-rident.ads
gcc/ada/sem_disp.adb
gcc/ada/sem_disp.ads