aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_ch7.ads
diff options
context:
space:
mode:
authorEd Schonberg <schonberg@adacore.com>2007-04-06 11:26:50 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2007-04-06 11:26:50 +0200
commit13bbad84b1148a52cc2c130ddce42958aad23483 (patch)
treee450280fd87f186a8350a152eeab4955fcb17efa /gcc/ada/sem_ch7.ads
parentb6a1a16fbda2a0dbcf8095ff57b692f01449fceb (diff)
downloadgcc-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.ads9
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