diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2017-04-25 12:03:40 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2017-04-25 12:03:40 +0200 |
commit | 89b6c83e251d0b65860be2353fcf261169af2cf3 (patch) | |
tree | 77a84cc123e605028bdec3b1d08c30e0b8dff2d5 /gcc/ada/einfo.ads | |
parent | c6840e83cc062932453294d553b7bfeafe54e0c1 (diff) | |
download | gcc-89b6c83e251d0b65860be2353fcf261169af2cf3.zip gcc-89b6c83e251d0b65860be2353fcf261169af2cf3.tar.gz gcc-89b6c83e251d0b65860be2353fcf261169af2cf3.tar.bz2 |
[multiple changes]
2017-04-25 Hristian Kirtchev <kirtchev@adacore.com>
* checks.adb (Insert_Valid_Check): Partially reimplement validity
checks.
* einfo.adb Node36 is now used as Validated_Object.
(Validated_Object): New routine.
(Set_Validated_Object): New routine.
(Write_Field36_Name): Add an entry for Validated_Object.
* einfo.ads Add new attribute Validated_Object along with
usage in entities.
(Validated_Object): New routine along with pragma Inline.
(Set_Validated_Object): New routine along with pragma Inline.
* exp_attr.adb (Make_Range_Test): Add processing for validation
variables to avoid extra reads and copies of the prefix.
* exp_ch6.adb (Expand_Actuals): Add copy-back for validation
variables in order to reflect any changes done in the variable
back into the original object.
* sem_util.adb (Is_Validation_Variable_Reference): New routine.
* sem_util.ads (Is_Validation_Variable_Reference): New routine.
2017-04-25 Steve Baird <baird@adacore.com>
* exp_ch7.adb (Build_Array_Deep_Procs,
Build_Record_Deep_Procs, Make_Finalize_Address_Body): Don't
generate Finalize_Address routines for CodePeer.
2017-04-25 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Inherits_Class_Wide_Pre): subsidiary of
Analyze_Pre_Post_Condition, to implement the legality checks
mandated by AI12-0131: Pre'Class shall not be specified for an
overriding primitive subprogram of a tagged type T unless the
Pre'Class aspect is specified for the corresponding primitive
subprogram of some ancestor of T.
From-SVN: r247170
Diffstat (limited to 'gcc/ada/einfo.ads')
-rw-r--r-- | gcc/ada/einfo.ads | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads index 5999018..095ec60 100644 --- a/gcc/ada/einfo.ads +++ b/gcc/ada/einfo.ads @@ -4514,6 +4514,10 @@ package Einfo is -- task). Set to True when secondary stack is used in this scope and must -- be released on exit unless Sec_Stack_Needed_For_Return is set. +-- Validated_Object (Node36) +-- Defined in variables. Contains the object whose value is captured by +-- the variable for validity check purposes. + -- Warnings_Off (Flag96) -- Defined in all entities. Set if a pragma Warnings (Off, entity-name) -- is used to suppress warnings for a given entity. It is also used by @@ -6609,6 +6613,7 @@ package Einfo is -- Linker_Section_Pragma (Node33) -- Contract (Node34) -- Anonymous_Designated_Type (Node35) + -- Validated_Object (Node36) -- SPARK_Pragma (Node40) -- Has_Alignment_Clause (Flag46) -- Has_Atomic_Components (Flag86) @@ -7342,6 +7347,7 @@ package Einfo is function Used_As_Generic_Actual (Id : E) return B; function Uses_Lock_Free (Id : E) return B; function Uses_Sec_Stack (Id : E) return B; + function Validated_Object (Id : E) return N; function Warnings_Off (Id : E) return B; function Warnings_Off_Used (Id : E) return B; function Warnings_Off_Used_Unmodified (Id : E) return B; @@ -8029,6 +8035,7 @@ package Einfo is procedure Set_Used_As_Generic_Actual (Id : E; V : B := True); procedure Set_Uses_Lock_Free (Id : E; V : B := True); procedure Set_Uses_Sec_Stack (Id : E; V : B := True); + procedure Set_Validated_Object (Id : E; V : N); procedure Set_Warnings_Off (Id : E; V : B := True); procedure Set_Warnings_Off_Used (Id : E; V : B := True); procedure Set_Warnings_Off_Used_Unmodified (Id : E; V : B := True); @@ -8871,6 +8878,7 @@ package Einfo is pragma Inline (Used_As_Generic_Actual); pragma Inline (Uses_Lock_Free); pragma Inline (Uses_Sec_Stack); + pragma Inline (Validated_Object); pragma Inline (Warnings_Off); pragma Inline (Warnings_Off_Used); pragma Inline (Warnings_Off_Used_Unmodified); @@ -9346,6 +9354,7 @@ package Einfo is pragma Inline (Set_Used_As_Generic_Actual); pragma Inline (Set_Uses_Lock_Free); pragma Inline (Set_Uses_Sec_Stack); + pragma Inline (Set_Validated_Object); pragma Inline (Set_Warnings_Off); pragma Inline (Set_Warnings_Off_Used); pragma Inline (Set_Warnings_Off_Used_Unmodified); |