diff options
author | Ed Schonberg <schonberg@adacore.com> | 2007-04-06 11:26:50 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-04-06 11:26:50 +0200 |
commit | 13bbad84b1148a52cc2c130ddce42958aad23483 (patch) | |
tree | e450280fd87f186a8350a152eeab4955fcb17efa /gcc/ada/sem_ch7.ads | |
parent | b6a1a16fbda2a0dbcf8095ff57b692f01449fceb (diff) | |
download | gcc-13bbad84b1148a52cc2c130ddce42958aad23483.zip gcc-13bbad84b1148a52cc2c130ddce42958aad23483.tar.gz gcc-13bbad84b1148a52cc2c130ddce42958aad23483.tar.bz2 |
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
Diffstat (limited to 'gcc/ada/sem_ch7.ads')
-rw-r--r-- | gcc/ada/sem_ch7.ads | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/ada/sem_ch7.ads b/gcc/ada/sem_ch7.ads index 44cca27..7615fb8 100644 --- a/gcc/ada/sem_ch7.ads +++ b/gcc/ada/sem_ch7.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2005, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2006, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -58,9 +58,10 @@ package Sem_Ch7 is -- if it contains declarations that require completion in a body. procedure May_Need_Implicit_Body (E : Entity_Id); - -- If a package declaration contains tasks and does not require a - -- body, create an implicit body at the end of the current declarative - -- part to activate those tasks. + -- If a package declaration contains tasks or RACWs and does not require + -- a body, create an implicit body at the end of the current declarative + -- part to activate those tasks or contain the bodies for the RACW + -- calling stubs. procedure New_Private_Type (N : Node_Id; Id : Entity_Id; Def : Node_Id); -- Common processing for private type declarations and for formal |