When the code responsible for giving errors on ambiguous operands of comparison and equality operators was moved from the 1st phase (analysis) to the 2nd phase (resolution) of semantic processing, it was incorrectly restricted to the operator case, which was valid during the 1st phase but is not during the 2nd phase. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_res.adb (Resolve_Comparison_Op): Deal with ambiguous operands in all cases. (Resolve_Equality_Op): Likewise, except for the case of the implicit inequality operator created for a user-defined operator that is not an intrinsic subprogram.