diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-04-23 09:53:23 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-04-23 09:53:23 +0000 |
commit | f2780d56ec17d5a0c219b94561a43133f4dd1873 (patch) | |
tree | 7707a1974f10354ae188d09877f6b574d4ca66aa /gcc/ada/sem_res.adb | |
parent | 0fd13d3221f9184a1ab3d0cb98b7840c095216e6 (diff) | |
download | gcc-f2780d56ec17d5a0c219b94561a43133f4dd1873.tar.gz |
2013-04-23 Vincent Celier <celier@adacore.com>
* prj-part.ads, prj-conf.ads: Minor comment updates.
2013-04-23 Ed Schonberg <schonberg@adacore.com>
* einfo.adb (Predicate_Function): For a private type, retrieve
predicate function from full view.
* aspects.adb (Find_Aspect): Ditto.
* exp_ch6.adb (Expand_Actuals): If the formal is class-wide and
the actual is a definite type, apply predicate check after call.
* sem_res.adb: Do not apply a predicate check before the call to
a generated Init_Proc.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198185 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_res.adb')
-rw-r--r-- | gcc/ada/sem_res.adb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index db6ecf7ecfb..ee2483bc53b 100644 --- a/gcc/ada/sem_res.adb +++ b/gcc/ada/sem_res.adb @@ -3946,12 +3946,13 @@ package body Sem_Res is -- Apply predicate checks, unless this is a call to the -- predicate check function itself, which would cause an - -- infinite recursion. + -- infinite recursion, or it is a call to an initialization + -- procedure whose operand is of course an unfinished object. if not (Ekind (Nam) = E_Function and then (Is_Predicate_Function (Nam) - or else - Is_Predicate_Function_M (Nam))) + or else Is_Predicate_Function_M (Nam))) + and then not Is_Init_Proc (Nam) then Apply_Predicate_Check (A, F_Typ); end if; |