mirror of git://gcc.gnu.org/git/gcc.git
gnat_rm.texi, [...]: Update documentation.
2012-03-20 Yannick Moy <moy@adacore.com> * gnat_rm.texi, sem_attr.ads: Update documentation. From-SVN: r185562
This commit is contained in:
parent
18dae0162f
commit
9b96cf92a4
|
@ -1,3 +1,7 @@
|
||||||
|
2012-03-20 Yannick Moy <moy@adacore.com>
|
||||||
|
|
||||||
|
* gnat_rm.texi, sem_attr.ads: Update documentation.
|
||||||
|
|
||||||
2012-03-19 Yannick Moy <moy@adacore.com>
|
2012-03-19 Yannick Moy <moy@adacore.com>
|
||||||
|
|
||||||
* sem_ch6.adb: Minor code clean up.
|
* sem_ch6.adb: Minor code clean up.
|
||||||
|
|
|
@ -285,6 +285,7 @@ Implementation Defined Attributes
|
||||||
* Unconstrained_Array::
|
* Unconstrained_Array::
|
||||||
* Universal_Literal_String::
|
* Universal_Literal_String::
|
||||||
* Unrestricted_Access::
|
* Unrestricted_Access::
|
||||||
|
* Valid_Scalars::
|
||||||
* VADS_Size::
|
* VADS_Size::
|
||||||
* Value_Size::
|
* Value_Size::
|
||||||
* Wchar_T_Size::
|
* Wchar_T_Size::
|
||||||
|
@ -6035,6 +6036,7 @@ consideration, you should minimize the use of these attributes.
|
||||||
* Unconstrained_Array::
|
* Unconstrained_Array::
|
||||||
* Universal_Literal_String::
|
* Universal_Literal_String::
|
||||||
* Unrestricted_Access::
|
* Unrestricted_Access::
|
||||||
|
* Valid_Scalars::
|
||||||
* VADS_Size::
|
* VADS_Size::
|
||||||
* Value_Size::
|
* Value_Size::
|
||||||
* Wchar_T_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
|
to create a unconstrained pointer and then return that value to the
|
||||||
caller.
|
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
|
@node VADS_Size
|
||||||
@unnumberedsec VADS_Size
|
@unnumberedsec VADS_Size
|
||||||
@cindex @code{Size}, VADS compatibility
|
@cindex @code{Size}, VADS compatibility
|
||||||
|
|
|
@ -554,7 +554,12 @@ package Sem_Attr is
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
Attribute_Valid_Scalars => True,
|
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 --
|
-- Value_Size --
|
||||||
|
|
Loading…
Reference in New Issue