diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-09-10 17:12:04 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-09-10 17:12:04 +0200 |
commit | e5536c09381815b8527e8221554218dc4c3b4b73 (patch) | |
tree | 9eb3df036c906db60274b4366a72b044cfedbdf3 /gcc | |
parent | c768e988ec60315a3239a3681021140a27561f12 (diff) | |
download | gcc-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.adb | 25 |
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 := |