From: Robert Dewar Date: Tue, 29 Jul 2014 14:51:48 +0000 (+0000) Subject: types.ads (Mechanism_Type): Change range back to -18 .. X-Git-Tag: releases/gcc-5.1.0~5991 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3c04da40217fd70dea865002a045625bc7a62fd6;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index eb1e9f76cb38..0a45f087259f 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2014-07-29 Robert Dewar + + * 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 * gnat_rm.texi, sem_prag.adb: Minor reformatting. diff --git a/gcc/ada/types.ads b/gcc/ada/types.ads index bc2801026620..0070c6c20a9e 100644 --- a/gcc/ada/types.ads +++ b/gcc/ada/types.ads @@ -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 --