aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_cat.ads
diff options
context:
space:
mode:
authorJustin Squirek <squirek@adacore.com>2021-11-22 12:53:56 +0000
committerPierre-Marie de Rodat <derodat@adacore.com>2022-01-06 17:11:32 +0000
commit4458909a806825bc9a74b69e14c7fb88a551b800 (patch)
tree70dedcc038494ce0cdd8e31da5fb2b456d1cbec9 /gcc/ada/sem_cat.ads
parentbfbb8de66079be551f08cdab38cafa766bb29e78 (diff)
downloadgcc-4458909a806825bc9a74b69e14c7fb88a551b800.zip
gcc-4458909a806825bc9a74b69e14c7fb88a551b800.tar.gz
gcc-4458909a806825bc9a74b69e14c7fb88a551b800.tar.bz2
[Ada] Removal of technical debt
gcc/ada/ * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Add comments regarding special handling of components which depend on discriminants. * exp_dist.adb (Build_From_Any_Function): Add Real_Rep actual for calls to Has_Stream_Attribute_Definition. (Build_To_Any_Function): Likewise. (Build_TypeCode_Function): Likewise. * freeze.adb (Freeze_Entity): Add missing comment for Test_E. * libgnat/s-utf_32.adb: Remove disabled warning comments and temporarily inserted pragma warnings. Remove very old (2006 and 2012) comments about bootstrapping older versions. * par.adb (P_Identifier): Add new parameter Force_Msg. * par-ch2.adb (P_Identifier): Restructure and clean up function. * par-ch3.adb (P_Defining_Identifier): Remove code duplication for parsing identifiers. * sem_attr.adb (Stream_Attribute_Available): Add missing comments and add Real_Rep actual for calls to Has_Stream_Attribute_Definition. * sem_cat.adb (Has_Read_Write_Attribute): Add Real_Rep actual for calls to Has_Stream_Attribute_Definition. (Has_Stream_Attribute_Definition): Remove local Real_Rep and fix recursive calls. Add default value for Real_Rep. * sem_cat.ads (Has_Stream_Attribute_Definition): Add new out parameter "Real_Rep". * sem_type.adb (Add_Entry): Add condition to avoid passing non-function calls to Function_Interp_Has_Abstract_Op. (Function_Interp_Has_Abstract_Op): Add missing comments and remove check for Is_Overloadable. * sem_util.adb (Derivation_Too_Early_To_Inherit): Remove duplicated code.
Diffstat (limited to 'gcc/ada/sem_cat.ads')
-rw-r--r--gcc/ada/sem_cat.ads9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ada/sem_cat.ads b/gcc/ada/sem_cat.ads
index 90a713b..3b36006 100644
--- a/gcc/ada/sem_cat.ads
+++ b/gcc/ada/sem_cat.ads
@@ -43,6 +43,7 @@ package Sem_Cat is
function Has_Stream_Attribute_Definition
(Typ : Entity_Id;
Nam : TSS_Name_Type;
+ Real_Rep : out Node_Id;
At_Any_Place : Boolean := False) return Boolean;
-- True when there is a attribute definition clause specifying attribute
-- Nam for Typ. In Ada 2005 mode, returns True only when the attribute
@@ -54,6 +55,14 @@ package Sem_Cat is
-- specific type, excluding inherited definitions, the flags
-- Has_Specified_Stream_* can be used instead).
+ -- The stream operation may be specified by an attribute definition
+ -- clause in the source, or by an aspect that generates such an
+ -- attribute definition. For an aspect, the generated attribute
+ -- definition may be placed at the freeze point of the full view of
+ -- the type, but the aspect specification makes the operation visible
+ -- to a client wherever the partial view is visible. This real
+ -- representation is returned in the Real_Rep parameter.
+
function In_Preelaborated_Unit return Boolean;
-- Determines if the current scope is within a preelaborated compilation
-- unit, that is one to which one of the pragmas Preelaborate, Pure,