2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-04-10 04:20:29 +08:00

exp_ch5.adb, [...]: Minor comment additions.

2014-07-29  Robert Dewar  <dewar@adacore.com>

	* exp_ch5.adb, exp_ch9.adb: Minor comment additions.
	* gnat_rm.texi: Complete list of implementation aspects.
	* aspects.ads: Minor comment clarification.

From-SVN: r213196
This commit is contained in:
Robert Dewar 2014-07-29 14:06:20 +00:00 committed by Arnaud Charlet
parent a2cc9797df
commit 0677a1c750
5 changed files with 30 additions and 4 deletions

@ -1,3 +1,9 @@
2014-07-29 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb, exp_ch9.adb: Minor comment additions.
* gnat_rm.texi: Complete list of implementation aspects.
* aspects.ads: Minor comment clarification.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_N_Assignment_Statement): If the target type

@ -194,7 +194,7 @@ package Aspects is
Aspect_Volatile_Components,
-- Aspects that have a static boolean value but don't correspond to
-- pragmas
-- pragmas with a single argument that it is the entity in question.
Aspect_Lock_Free); -- GNAT

@ -2001,6 +2001,13 @@ package body Exp_Ch5 is
if Is_Access_Type (Typ)
and then Can_Never_Be_Null (Etype (Lhs))
and then not Can_Never_Be_Null (Etype (Rhs))
-- If an actual is an out parameter of a null-excluding access
-- type, there is access check on entry, so we set the flag
-- Suppress_Assignment_Checks on the generated statement to
-- assign the actual to the parameter block, and we do not want
-- to generate an additional check at this point.
and then not Suppress_Assignment_Checks (N)
then
Apply_Constraint_Check (Rhs, Etype (Lhs));

@ -4768,6 +4768,12 @@ package body Exp_Ch9 is
Make_Assignment_Statement (Loc,
Name => N_Var,
Expression => Relocate_Node (Actual)));
-- If actual is an out parameter of a null-excluding
-- access type, there is access check on entry, so set
-- Suppress_Assignment_Checks on the generated statement
-- that assigns the actual to the parameter block
Set_Suppress_Assignment_Checks (Last (Stats));
end if;

@ -1,4 +1,3 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@ -308,6 +307,7 @@ Implementation Defined Aspects
* Aspect Initializes::
* Aspect Inline_Always::
* Aspect Invariant::
* Aspect Iterable::
* Aspect Linker_Section::
* Aspect Object_Size::
* Aspect Part_Of::
@ -369,8 +369,8 @@ Implementation Defined Attributes
* Attribute Implicit_Dereference::
* Attribute Integer_Value::
* Attribute Invalid_Value::
* Attribute Iterator_Element::
* Attribute Iterable::
* Attribute Iterator_Element::
* Attribute Large::
* Attribute Library_Level::
* Attribute Lock_Free::
@ -4493,7 +4493,7 @@ end IO_Card;
@end smallexample
@node Pragma Lock_Free
@unnumberedsec Pragma Locl_Free
@unnumberedsec Pragma Lock_Free
@findex Lock_Free
@noindent
Syntax:
@ -8122,6 +8122,7 @@ clause.
* Aspect Initializes::
* Aspect Inline_Always::
* Aspect Invariant::
* Aspect Iterable::
* Aspect Linker_Section::
* Aspect Lock_Free::
* Aspect Object_Size::
@ -8344,6 +8345,12 @@ This aspect is equivalent to pragma @code{Invariant}. It is a
synonym for the language defined aspect @code{Type_Invariant} except
that it is separately controllable using pragma @code{Assertion_Policy}.
@node Aspect Iterable
@unnumberedsec Aspect Iterable
@findex Iterable
@noindent
PLEASE ADD DOCUMENTATION HERE???
@node Aspect Linker_Section
@unnumberedsec Aspect Linker_Section
@findex Linker_Section