Commit 9b96cf92 by Yannick Moy Committed by Arnaud Charlet

gnat_rm.texi, [...]: Update documentation.

2012-03-20  Yannick Moy  <moy@adacore.com>

	* gnat_rm.texi, sem_attr.ads: Update documentation.

From-SVN: r185562
parent 18dae016
2012-03-20 Yannick Moy <moy@adacore.com>
* gnat_rm.texi, sem_attr.ads: Update documentation.
2012-03-19 Yannick Moy <moy@adacore.com>
* sem_ch6.adb: Minor code clean up.
......
......@@ -285,6 +285,7 @@ Implementation Defined Attributes
* Unconstrained_Array::
* Universal_Literal_String::
* Unrestricted_Access::
* Valid_Scalars::
* VADS_Size::
* Value_Size::
* Wchar_T_Size::
......@@ -6035,6 +6036,7 @@ consideration, you should minimize the use of these attributes.
* Unconstrained_Array::
* Universal_Literal_String::
* Unrestricted_Access::
* Valid_Scalars::
* VADS_Size::
* Value_Size::
* Wchar_T_Size::
......@@ -6991,6 +6993,24 @@ scope. For instance, a function cannot use @code{Unrestricted_Access}
to create a unconstrained pointer and then return that value to the
caller.
@node Valid_Scalars
@unnumberedsec Valid_Scalars
@findex Valid_Scalars
@noindent
The @code{'Valid_Scalars} attribute is intended to make it easier to
check the validity of scalar subcomponents of composite objects. It
is defined for any prefix @code{X} that denotes a scalar or composite
object (after any implicit dereference), that is not of classwide type
or of a formal generic type with an unknown discriminant.
@code{X'Valid_Scalars} yields True if and only if @code{X'Valid}
yields True, if @code{X} is a scalar object, or @code{Y'Valid} yields
True for every scalar subcomponent @code{Y} of @code{X}, if @code{X}
is a composite object. If computing the value of
@code{X'Valid_Scalars} involves evaluations of subtype predicates, it
is unspecified in which order these evaluations take place, or if they
take place at all in case the result is False. The value of this
attribute is of the predefined type Boolean.
@node VADS_Size
@unnumberedsec VADS_Size
@cindex @code{Size}, VADS compatibility
......
......@@ -554,7 +554,12 @@ package Sem_Attr is
-------------------
Attribute_Valid_Scalars => True,
-- Typ'Valid_Scalars applies to ???
-- Obj'Valid_Scalars applies to objects of scalar types, on which it is
-- equivalent to Obj'Valid, and objects of array and record types, on
-- which it amounts to applying 'Valid to each subcomponent of Obj. It
-- does not apply to prefixes of classwide type, or of a formal generic
-- type that has an unknown discriminant (which could be instantiated
-- with a classwide type).
----------------
-- Value_Size --
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment