aarch64_get_expected_qualifier was incorrectly comparing an
aarch64_opnd_qualifier_t against AARCH64_OPND_NIL instead of
AARCH64_OPND_QLF_NIL (these are the zero values of two different enums).
A previous patch incorrectly addressed the type mismatch by casting the
qualifier to (enum aarch64_opnd).
Fix it properly by removing the cast and updating the comparison to use
AARCH64_OPND_QLF_NIL.
it can mean no qualifier for the operand, or the qualifer sequence is
not in use (when all qualifiers in the sequence are NILs), we have to
handle this special case here. */
- if (((enum aarch64_opnd) known_qlf) == AARCH64_OPND_NIL)
+ if (known_qlf == AARCH64_OPND_QLF_NIL)
{
- assert (((enum aarch64_opnd) qseq_list[0][known_idx]) == AARCH64_OPND_NIL);
+ assert (qseq_list[0][known_idx] == AARCH64_OPND_QLF_NIL);
return qseq_list[0][idx];
}