sem_ch7.ads, [...] (Inspect_Deferred_Constant_Completion): Move out of Analyze_Packag...
authorEd Schonberg <schonberg@adacore.com>
Fri, 6 Apr 2007 09:26:50 +0000 (11:26 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 6 Apr 2007 09:26:50 +0000 (11:26 +0200)
commit13bbad84b1148a52cc2c130ddce42958aad23483
treee450280fd87f186a8350a152eeab4955fcb17efa
parentb6a1a16fbda2a0dbcf8095ff57b692f01449fceb
sem_ch7.ads, [...] (Inspect_Deferred_Constant_Completion): Move out of Analyze_Package_Declaration...

2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* sem_ch7.ads, sem_ch7.adb (Inspect_Deferred_Constant_Completion): Move
out of Analyze_Package_Declaration, because processing must be applied
to package bodies as well, for deferred constants completed by pragmas.
(Analyze_Package_Declaration): When the package declaration being
analyzed does not require an explicit body, call Check_Completion.
(May_Need_Implicit_Body): An implicit body is required when a package
spec contains the declaration of a remote access-to-classwide type.
(Analyze_Package_Body): If the package contains RACWs, append the
pending subprogram bodies generated by exp_dist at the end of the body.
(New_Private_Type,Unit_Requires_Body): Split Is_Abstract flag into
Is_Abstract_Subprogram and Is_Abstract_Type.
(Preserve_Full_Attributes): The full entity list is not an attribute
that must be preserved from full to partial view.

        * sem_dist.adb (Add_RAS_Dereference_TSS):
        Change primitive name to _Call so it cannot clash with any legal
        identifier, and be special-cased in Check_Completion.
        Mark the full view of the designated type for the RACW associated with
        a RAS as Comes_From_Source to get proper view switching when installing
        private declarations.
        Provite a placeholder nested package body along with the nested spec
        to have a place for Append_RACW_Bodies to generate the calling stubs
        and stream attributes.

From-SVN: r123596
gcc/ada/sem_ch7.adb
gcc/ada/sem_ch7.ads
gcc/ada/sem_dist.adb