aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/einfo.ads
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-10-17 11:07:50 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2014-10-17 11:07:50 +0200
commit99425ec329df4fa7d48f34803efd901284267197 (patch)
tree00bca1749db1231ff2ecc5320dd9670e131c8d51 /gcc/ada/einfo.ads
parent99bd87dd981acf6e5cc654a9b39e5863ad5ee850 (diff)
downloadgcc-99425ec329df4fa7d48f34803efd901284267197.zip
gcc-99425ec329df4fa7d48f34803efd901284267197.tar.gz
gcc-99425ec329df4fa7d48f34803efd901284267197.tar.bz2
[multiple changes]
2014-10-17 Robert Dewar <dewar@adacore.com> * sem_attr.adb (Eval_Attribute): Ensure that attribute reference is not marked as being a static expression if the prefix evaluation raises CE. 2014-10-17 Robert Dewar <dewar@adacore.com> * exp_pakd.adb: Move bit packed entity tables to spec. * exp_pakd.ads: Move bit packed entity tables here from body. * freeze.adb (Freeze_Array_Type): Check that packed array type is supported. * rtsfind.adb (PRE_Id_Table): New table (Entity_Not_Defined): Specialize messages using PRE_Id_Table. * uintp.ads, uintp.adb (UI_Image): New functional form. 2014-10-17 Robert Dewar <dewar@adacore.com> * aspects.ads, aspects.adb: Add Suppress_Initialization aspect. * einfo.ads, einfo.adb (Suppress_Initialization): Now applies to E_Variable. * exp_ch3.adb (Default_Initialize_Object): Handle Suppress_Initialization. * exp_prag.adb (Expand_Pragma_Suppress_Initialization): New procedure (Expand_N_Pragma): Handle Suppress_Initialization (Expand_Pragma_Import_Or_Interface): Use Undo_Initialization (Undo_Initialization): New procedure. * sem_prag.adb (Analyze_Pragma, case Suppress_Initialization): This is now allowed for E_Variable case. * gnat_rm.texi: Document new aspect Suppress_Initialization Suppress_Initialization aspect/pragma can apply to variable. * einfo.ads: Minor reformatting. 2014-10-17 Arnaud Charlet <charlet@adacore.com> * spark_xrefs.ads: Add documentation pointer to Flow_Computed_Globals. 2014-10-17 Robert Dewar <dewar@adacore.com> * cstand.adb (Create_Standard): Mark Short_Integer as implementation defined. * sem_util.adb (Set_Entity_With_Checks): Avoid blow up for compiler built with assertions for No_Implementation_Identifiers test. From-SVN: r216379
Diffstat (limited to 'gcc/ada/einfo.ads')
-rw-r--r--gcc/ada/einfo.ads66
1 files changed, 34 insertions, 32 deletions
diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads
index da63627..d680c77 100644
--- a/gcc/ada/einfo.ads
+++ b/gcc/ada/einfo.ads
@@ -2990,7 +2990,7 @@ package Einfo is
-- vtable (i.e. the one to be extended by derivation).
-- Is_Tagged_Type (Flag55)
--- Defined in all entities. Set for an entity for a tagged type.
+-- Defined in all entities. Set for an entity that is a tagged type.
-- Is_Task_Interface (synthesized)
-- Defined in types that are interfaces. True if interface is declared as
@@ -4081,14 +4081,16 @@ package Einfo is
-- avoid multiple elaboration warnings for the same variable.
-- Suppress_Initialization (Flag105)
--- Defined in all type and subtype entities. If set for the base type,
--- then the generation of initialization procedures is suppressed for the
--- type. Any other implicit initialiation (e.g. from the use of pragma
--- Initialize_Scalars) is also suppressed if this flag is set either for
--- the subtype in question, or for the base type. Set by use of pragma
--- Suppress_Initialization and also for internal entities where we know
--- that no initialization is required. For example, enumeration image
--- table entities set it.
+-- Defined in all variable, type and subtype entities. If set for a base
+-- type, then the generation of initialization procedures is suppressed
+-- for the type. Any other implicit initialiation (e.g. from the use of
+-- pragma Initialize_Scalars) is also suppressed if this flag is set for
+-- either the subtype in question, or for the base type. For variables,
+-- this flag suppresses all implicit initialization for the object, even
+-- if the type would normally require initialization. Set by use of
+-- pragma Suppress_Initialization and also for internal entities where
+-- we know that no initialization is required. For example, enumeration
+-- image table entities set it.
-- Suppress_Style_Checks (Flag165)
-- Defined in all entities. Suppresses any style checks specifically
@@ -4481,8 +4483,8 @@ package Einfo is
-- is created for the base type, and this is the first named subtype).
E_Ordinary_Fixed_Point_Type,
- -- Ordinary fixed type, used for the anonymous base type of the
- -- fixed subtype created by an ordinary fixed point type declaration.
+ -- Ordinary fixed type, used for the anonymous base type of the fixed
+ -- subtype created by an ordinary fixed point type declaration.
E_Ordinary_Fixed_Point_Subtype,
-- Ordinary fixed point subtype, created by either an ordinary fixed
@@ -4603,19 +4605,18 @@ package Einfo is
-- A record subtype, created by a record subtype declaration
E_Record_Type_With_Private,
- -- Used for types defined by a private extension declaration, and
- -- for tagged private types. Includes the fields for both private
- -- types and for record types (with the sole exception of
- -- Corresponding_Concurrent_Type which is obviously not needed).
- -- This entity is considered to be both a record type and
- -- a private type.
+ -- Used for types defined by a private extension declaration,
+ -- and for tagged private types. Includes the fields for both
+ -- private types and for record types (with the sole exception of
+ -- Corresponding_Concurrent_Type which is obviously not needed). This
+ -- entity is considered to be both a record type and a private type.
E_Record_Subtype_With_Private,
-- A subtype of a type defined by a private extension declaration
E_Private_Type,
- -- A private type, created by a private type declaration
- -- that has neither the keyword limited nor the keyword tagged.
+ -- A private type, created by a private type declaration that has
+ -- neither the keyword limited nor the keyword tagged.
E_Private_Subtype,
-- A subtype of a private type, created by a subtype declaration used
@@ -4662,10 +4663,10 @@ package Einfo is
-- The type of an exception created by an exception declaration
E_Subprogram_Type,
- -- This is the designated type of an Access_To_Subprogram. Has type
- -- and signature like a subprogram entity, so can appear in calls,
- -- which are resolved like regular calls, except that such an entity
- -- is not overloadable.
+ -- This is the designated type of an Access_To_Subprogram. Has type and
+ -- signature like a subprogram entity, so can appear in calls, which
+ -- are resolved like regular calls, except that such an entity is not
+ -- overloadable.
---------------------------
-- Overloadable Entities --
@@ -4681,9 +4682,9 @@ package Einfo is
E_Operator,
-- A predefined operator, appearing in Standard, or an implicitly
- -- defined concatenation operator created whenever an array is
- -- declared. We do not make normal derived operators explicit in
- -- the tree, but the concatenation operators are made explicit.
+ -- defined concatenation operator created whenever an array is declared.
+ -- We do not make normal derived operators explicit in the tree, but the
+ -- concatenation operators are made explicit.
E_Procedure,
-- A procedure, created by a procedure declaration or a procedure
@@ -6238,6 +6239,7 @@ package Einfo is
-- OK_To_Rename (Flag247)
-- Optimize_Alignment_Space (Flag241)
-- Optimize_Alignment_Time (Flag242)
+ -- Suppress_Initialization (Flag105)
-- Treat_As_Volatile (Flag41)
-- Address_Clause (synth)
-- Alignment_Clause (synth)
@@ -8794,12 +8796,12 @@ package Einfo is
-- END XEINFO INLINES
- -- The following Inline pragmas are *not* read by xeinfo when building
- -- the C version of this interface automatically (so the C version will
- -- end up making out of line calls). The pragma scan in xeinfo will be
- -- terminated on encountering the END XEINFO INLINES line. We inline
- -- things here which are small, but not of the canonical attribute
- -- access/set format that can be handled by xeinfo.
+ -- The following Inline pragmas are *not* read by xeinfo when building the
+ -- C version of this interface automatically (so the C version will end up
+ -- making out of line calls). The pragma scan in xeinfo will be terminated
+ -- on encountering the END XEINFO INLINES line. We inline things here which
+ -- are small, but not of the canonical attribute access/set format that can
+ -- be handled by xeinfo.
pragma Inline (Base_Type);
pragma Inline (Is_Base_Type);