aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch6.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/exp_ch6.adb')
-rw-r--r--gcc/ada/exp_ch6.adb21
1 files changed, 2 insertions, 19 deletions
diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb
index de2ded8..724e82a 100644
--- a/gcc/ada/exp_ch6.adb
+++ b/gcc/ada/exp_ch6.adb
@@ -1743,10 +1743,6 @@ package body Exp_Ch6 is
-- be handled separately because the name does not denote an
-- overloadable entity.
- -- If the formal is class-wide the corresponding postcondition
- -- procedure does not include a predicate call, so it has to be
- -- generated explicitly.
-
if not Is_Init_Proc (Subp)
and then (Has_Aspect (E_Actual, Aspect_Predicate)
or else
@@ -1755,21 +1751,8 @@ package body Exp_Ch6 is
Has_Aspect (E_Actual, Aspect_Static_Predicate))
and then Present (Predicate_Function (E_Actual))
then
- if Is_Entity_Name (Actual)
- or else
- (Is_Derived_Type (E_Actual)
- and then Is_Overloadable (Subp)
- and then Is_Inherited_Operation_For_Type (Subp, E_Actual))
- then
- Append_To (Post_Call,
- Make_Predicate_Check (E_Actual, Actual));
-
- elsif Is_Class_Wide_Type (E_Formal)
- and then not Is_Class_Wide_Type (E_Actual)
- then
- Append_To (Post_Call,
- Make_Predicate_Check (E_Actual, Actual));
- end if;
+ Append_To (Post_Call,
+ Make_Predicate_Check (E_Actual, Actual));
end if;
-- Processing for IN parameters