diff options
Diffstat (limited to 'gcc/ada/gnat_rm.texi')
| -rw-r--r-- | gcc/ada/gnat_rm.texi | 57 |
1 files changed, 26 insertions, 31 deletions
diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi index 68a3c14..49346f3 100644 --- a/gcc/ada/gnat_rm.texi +++ b/gcc/ada/gnat_rm.texi @@ -19,7 +19,7 @@ @copying @quotation -GNAT Reference Manual , Oct 17, 2025 +GNAT Reference Manual , Dec 05, 2025 AdaCore @@ -8318,12 +8318,9 @@ names that are implementation defined (as permitted by the RM): @itemize * @item -@code{Alignment_Check} can be used to suppress alignment checks -on addresses used in address clauses. Such checks can also be suppressed -by suppressing range checks, but the specific use of @code{Alignment_Check} -allows suppression of alignment checks without suppressing other range checks. -Note that @code{Alignment_Check} is suppressed by default on machines (such as -the x86) with non-strict alignment. +@code{Alignment_Check} can be used to suppress alignment checks on addresses +used in address clauses. Note that @code{Alignment_Check} is suppressed by +default on non-strict alignment machines (such as the x86). @item @code{Atomic_Synchronization} can be used to suppress the special memory @@ -8977,7 +8974,7 @@ units and unreferenced entities within these units. For the variable case, warnings are never given for unreferenced variables whose name contains one of the substrings -@code{DISCARD, DUMMY, IGNORE, JUNK, UNUSED} in any casing. Such names +@code{DISCARD, DUMMY, IGNORE, JUNK, UNUSE, TMP, TEMP} in any casing. Such names are typically to be used in cases where such warnings are expected. Thus it is never necessary to use @code{pragma Unreferenced} for such variables, though it is harmless to do so. @@ -9108,7 +9105,7 @@ that it might be. For the variable case, warnings are never given for unreferenced variables whose name contains one of the substrings -@code{DISCARD, DUMMY, IGNORE, JUNK, UNUSED} in any casing. Such names +@code{DISCARD, DUMMY, IGNORE, JUNK, UNUSE, TMP, TEMP} in any casing. Such names are typically to be used in cases where such warnings are expected. Thus it is never necessary to use @code{pragma Unused} for such variables, though it is harmless to do so. @@ -11586,11 +11583,12 @@ this attribute. @geindex Maximum_Alignment -@code{Standard'Maximum_Alignment} (@code{Standard} is the only -allowed prefix) provides the maximum useful alignment value for the -target. This is a static value that can be used to specify the alignment -for an object, guaranteeing that it is properly aligned in all -cases. +@code{Standard'Maximum_Alignment} (@code{Standard} is the only allowed prefix) +provides the maximum default alignment value for the target, that is to +say the maximum alignment that the compiler may choose by default for a +type or an object. Larger alignments are supported up to some maximum +value dependent on the target, but may require specific mechanisms that +are not needed up to @code{Standard'Maximum_Alignment}. @node Attribute Max_Integer_Size,Attribute Mechanism_Code,Attribute Maximum_Alignment,Implementation Defined Attributes @anchor{gnat_rm/implementation_defined_attributes attribute-max-integer-size}@anchor{1aa} @@ -19064,8 +19062,8 @@ The default alignment values are as follows: For elementary types, the alignment is the minimum of the actual size of objects of the type divided by @code{Storage_Unit}, -and the maximum alignment supported by the target. -(This maximum alignment is given by the GNAT-specific attribute +and the maximum default alignment supported by the target. +(This maximum default alignment is given by the GNAT-specific attribute @code{Standard'Maximum_Alignment}; see @ref{1a8,,Attribute Maximum_Alignment}.) @geindex Maximum_Alignment attribute @@ -19129,8 +19127,7 @@ strict alignment. @end itemize An alignment clause may specify a larger alignment than the default value -up to some maximum value dependent on the target (obtainable by using the -attribute reference @code{Standard'Maximum_Alignment}). It may also specify +up to some maximum value dependent on the target. It may also specify a smaller alignment than the default value for enumeration, integer and fixed point types, as well as for record types, for example @@ -19609,7 +19606,7 @@ To get a feel for the difference, consider the following examples (note that in each case the base is @code{Short_Short_Integer} with a size of 8): -@multitable {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} {xxxxxxxxxxxxxxx} {xxxxxxxxxxxxxxx} +@multitable {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} {xxxxxxxxxxxxxxx} {xxxxxxxxxxxxxxx} @headitem Type or subtype declaration @@ -19624,7 +19621,7 @@ Value_Size @item -@code{type x1 is range 0 .. 5;} +@code{type X1 is range 0 .. 5;} @tab @@ -19636,8 +19633,8 @@ Value_Size @item -@code{type x2 is range 0 .. 5;} -@code{for x2'size use 12;} +@code{type X2 is range 0 .. 5; +for X2'Size use 12;} @tab @@ -19649,7 +19646,7 @@ Value_Size @item -@code{subtype x3 is x2 range 0 .. 3;} +@code{subtype X3 is X2 range 0 .. 3;} @tab @@ -19661,7 +19658,7 @@ Value_Size @item -@code{subtype x4 is x2'base range 0 .. 10;} +@code{subtype X4 is X2'Base range 0 .. 10;} @tab @@ -19673,7 +19670,7 @@ Value_Size @item -@code{dynamic : x2'Base range -64 .. +63;} +@code{Dynamic : X2'Base range -64 .. +63;} @tab @@ -19681,7 +19678,7 @@ Value_Size @item -@code{subtype x5 is x2 range 0 .. dynamic;} +@code{subtype X5 is X2 range 0 .. Dynamic;} @tab @@ -19693,7 +19690,7 @@ Value_Size @item -@code{subtype x6 is x2'base range 0 .. dynamic;} +@code{subtype X6 is X2'Base range 0 .. Dynamic;} @tab @@ -20724,8 +20721,7 @@ machines with strict alignment requirements, GNAT checks (at compile time if possible, generating a warning, or at execution time with a run-time check) that the alignment is appropriate. If the run-time check fails, then @code{Program_Error} is raised. This run-time -check is suppressed if range checks are suppressed, or if the special GNAT -check Alignment_Check is suppressed, or if +check is suppressed if the GNAT check Alignment_Check is suppressed, or if @code{pragma Restrictions (No_Elaboration_Code)} is in effect. It is also suppressed by default on non-strict alignment machines (such as the x86). @@ -33629,8 +33625,7 @@ historical compatibility purposes. PolyORB is a deprecated product. It will be baselined with the GNAT Pro release 28. After this release, there will be no new versions of this -product. Contact your sales representative or send a message to -@email{sales@@adacore.com} to get recommendations for replacements. +product. Contact AdaCore support to get recommendations for replacements. @node pragma No_Run_Time,pragma Ravenscar,PolyORB,Obsolescent Features @anchor{gnat_rm/obsolescent_features id3}@anchor{487}@anchor{gnat_rm/obsolescent_features pragma-no-run-time}@anchor{488} |
