aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gnat_rm.texi
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/gnat_rm.texi')
-rw-r--r--gcc/ada/gnat_rm.texi57
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}