types.ads (Mechanism_Type): Change range back to -18 ..

* types.ads (Mechanism_Type): Change range back to -18 .. Int'Last with 
	documentation that explains the need for this extended range            
	(use by C_Pass_By_Copy).

From-SVN: r213203
This commit is contained in:
Robert Dewar 2014-07-29 14:51:48 +00:00 committed by Arnaud Charlet
parent 32ccbc2ac6
commit 3c04da4021
2 changed files with 14 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2014-07-29 Robert Dewar <dewar@adacore.com>
* types.ads (Mechanism_Type): Change range back to -18 .. Int'Last with
documentation that explains the need for this extended range
(use by C_Pass_By_Copy).
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi, sem_prag.adb: Minor reformatting.

View File

@ -795,10 +795,16 @@ package Types is
-- mechanism. See specification of Sem_Mech for full details. The following
-- subtype is used to represent values of this type:
subtype Mechanism_Type is Int range -18 .. 0;
subtype Mechanism_Type is Int range -18 .. Int'Last;
-- Type used to represent a mechanism value. This is a subtype rather than
-- a type to avoid some annoying processing problems with certain routines
-- in Einfo (processing them to create the corresponding C).
-- in Einfo (processing them to create the corresponding C). The values in
-- the range -18 .. 0 are used to represent mechanism types declared as
-- named constants in the spec of Sem_Mech. Positive values are used for
-- the case of a pragma C_Pass_By_Copy that sets a threshold value for the
-- mechanism to be used. For example if pragma C_Pass_By_Copy (32) is given
-- then Default_C_Record_Mechanism is set to 32, and the meaning is to use
-- By_Reference if the size is greater than 32, and By_Copy otherwise.
------------------------------
-- Run-Time Exception Codes --