aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2010-09-10 17:12:04 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2010-09-10 17:12:04 +0200
commite5536c09381815b8527e8221554218dc4c3b4b73 (patch)
tree9eb3df036c906db60274b4366a72b044cfedbdf3 /gcc
parentc768e988ec60315a3239a3681021140a27561f12 (diff)
downloadgcc-e5536c09381815b8527e8221554218dc4c3b4b73.zip
gcc-e5536c09381815b8527e8221554218dc4c3b4b73.tar.gz
gcc-e5536c09381815b8527e8221554218dc4c3b4b73.tar.bz2
Update comments.
From-SVN: r164188
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/sem_ch6.adb25
1 files changed, 12 insertions, 13 deletions
diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb
index 6ffb7d8..a379e3ae 100644
--- a/gcc/ada/sem_ch6.adb
+++ b/gcc/ada/sem_ch6.adb
@@ -5652,19 +5652,18 @@ package body Sem_Ch6 is
E, BIP_Formal_Suffix (BIP_Alloc_Form));
end if;
- -- In the case of functions whose result type has controlled
- -- parts, we have an extra formal of type
- -- System.Finalization_Implementation.Finalizable_Ptr_Ptr. That
- -- is, we are passing a pointer to a finalization list (which is
- -- itself a pointer). This extra formal is then passed along to
- -- Move_Final_List in case of successful completion of a return
- -- statement. We cannot pass an 'in out' parameter, because we
- -- need to update the finalization list during an abort-deferred
- -- region, rather than using copy-back after the function
- -- returns. This is true even if we are able to get away with
- -- having 'in out' parameters, which are normally illegal for
- -- functions. This formal is also needed when the function has
- -- a tagged result.
+ -- For functions whose result type has controlled parts, we have
+ -- an extra formal of type System.Finalization_Implementation.
+ -- Finalizable_Ptr_Ptr. That is, we are passing a pointer to a
+ -- finalization list (which is itself a pointer). This extra
+ -- formal is then passed along to Move_Final_List in case of
+ -- successful completion of a return statement. We cannot pass an
+ -- 'in out' parameter, because we need to update the finalization
+ -- list during an abort-deferred region, rather than using
+ -- copy-back after the function returns. This is true even if we
+ -- are able to get away with having 'in out' parameters, which are
+ -- normally illegal for functions. This formal is also needed when
+ -- the function has a tagged result.
if Needs_BIP_Final_List (E) then
Discard :=