When building a derived class-wide pre- or postcondition we are mapping
references to inherited formals and to the inherited subprogram itself.
We now do the same for references to the inherited operator. Such
references might appear as prefixes of the Result attribute, e.g.
"="'Result.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

        * exp_util.adb (Build_Class_Wide_Expression): Replace entities
        of both identifiers and operator symbols.
diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb
--- a/gcc/ada/exp_util.adb
+++ b/gcc/ada/exp_util.adb
@@ -1293,7 +1293,7 @@ package body Exp_Util is
             Adjust_Inherited_Pragma_Sloc (N);
          end if;
 
-         if Nkind (N) = N_Identifier
+         if Nkind (N) in N_Identifier | N_Operator_Symbol
            and then Present (Entity (N))
            and then
              (Is_Formal (Entity (N)) or else Is_Subprogram (Entity (N)))


Reply via email to