diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-07-16 16:29:36 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-07-16 16:29:36 +0200 |
commit | b07b7acecfd5b064a30b15b4767401ff56a60da7 (patch) | |
tree | 270eac77157878d2ac1d4ba2c4b9f07f95787c34 /gcc/ada/sinfo.ads | |
parent | 904aac81db2a08a89fcfd6321cdf5b1f328d94ee (diff) | |
download | gcc-b07b7acecfd5b064a30b15b4767401ff56a60da7.zip gcc-b07b7acecfd5b064a30b15b4767401ff56a60da7.tar.gz gcc-b07b7acecfd5b064a30b15b4767401ff56a60da7.tar.bz2 |
[multiple changes]
2014-07-16 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Process_Declarations): Reinstate the check on
a hook object to ensure that the related transient declaration
is finalizable.
* exp_util.adb (Is_Aliased): Do not consider expresison with
actions as a special context.
(Requires_Cleanup_Actions): Reinstate the check on a hook object to
ensure that the related transient declaration is finalizable.
2014-07-16 Robert Dewar <dewar@adacore.com>
* checks.ads, checks.adb (Allocation_Checks_Suppressed): New function.
* snames.ads-tmpl: Add Allocation_Check to list of check names.
* types.ads: Add Allocation_Check to list of check names.
2014-07-16 Thomas Quinot <quinot@adacore.com>
* sem_util.adb (Enter_Name): replace bogus test for presence of
Corresponding_Remote_Type with correct test on Ekind.
* sem_res.adb (Valid_Conversion): ditto; also clarify validity
of calls to Corresponding_ Remote_Type (documentation fix).
2014-07-16 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document illegal case of Unrestricted_Access.
* sem_attr.adb (Analyze_Access_Attribute): Set_Non_Aliased_Prefix
where it applies.
(Resolve_Attribute, case Access): Flag illegal Unrestricted_Access use.
* sinfo.ads, sinfo.adb (Non_Aliased_Prefix): New flag.
From-SVN: r212655
Diffstat (limited to 'gcc/ada/sinfo.ads')
-rw-r--r-- | gcc/ada/sinfo.ads | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads index 73dea2a..521ab0b 100644 --- a/gcc/ada/sinfo.ads +++ b/gcc/ada/sinfo.ads @@ -1809,6 +1809,13 @@ package Sinfo is -- is used for properly setting out of range values for use by pragmas -- Initialize_Scalars and Normalize_Scalars. + -- Non_Aliased_Prefix (Flag18-Sem) + -- Present in N_Attribute_Reference nodes. Set only for the case of an + -- Unrestricted_Access reference whose prefix is non-aliased, which is + -- the case that is permitted for Unrestricted_Access except when the + -- expected type is a thin pointer to unconstrained array. This flag is + -- to assist in detecting this illegal use of Unrestricted_Access. + -- Original_Discriminant (Node2-Sem) -- Present in identifiers. Used in references to discriminants that -- appear in generic units. Because the names of the discriminants may be @@ -3621,8 +3628,10 @@ package Sinfo is -- Associated_Node (Node4-Sem) -- Do_Overflow_Check (Flag17-Sem) -- Header_Size_Added (Flag11-Sem) + -- Must_Be_Byte_Aligned (Flag14-Sem) + -- Non_Aliased_Prefix (Flag18-Sem) -- Redundant_Use (Flag13-Sem) - -- Must_Be_Byte_Aligned (Flag14) + -- plus fields for expression -- Note: in Modify_Tree_For_C mode, Max and Min attributes are expanded @@ -9242,6 +9251,9 @@ package Sinfo is function No_Truncation (N : Node_Id) return Boolean; -- Flag17 + function Non_Aliased_Prefix + (N : Node_Id) return Boolean; -- Flag18 + function Null_Present (N : Node_Id) return Boolean; -- Flag13 @@ -10244,6 +10256,9 @@ package Sinfo is procedure Set_No_Truncation (N : Node_Id; Val : Boolean := True); -- Flag17 + procedure Set_Non_Aliased_Prefix + (N : Node_Id; Val : Boolean := True); -- Flag18 + procedure Set_Null_Present (N : Node_Id; Val : Boolean := True); -- Flag13 @@ -12510,6 +12525,7 @@ package Sinfo is pragma Inline (No_Initialization); pragma Inline (No_Minimize_Eliminate); pragma Inline (No_Truncation); + pragma Inline (Non_Aliased_Prefix); pragma Inline (Null_Present); pragma Inline (Null_Exclusion_Present); pragma Inline (Null_Exclusion_In_Return_Present); @@ -12840,6 +12856,7 @@ package Sinfo is pragma Inline (Set_No_Initialization); pragma Inline (Set_No_Minimize_Eliminate); pragma Inline (Set_No_Truncation); + pragma Inline (Set_Non_Aliased_Prefix); pragma Inline (Set_Null_Exclusion_Present); pragma Inline (Set_Null_Exclusion_In_Return_Present); pragma Inline (Set_Null_Present); |