Factor out comparison handling for arithmetic types.
This is not quite NFC: we don't perform the usual arithmetic conversions unless
we have an operand of arithmetic or enumeration type any more. This matches the
standard rule, but actually has no effect other than to marginally improve our
diagnostics for the non-arithmetic, non-enumeration cases (by not performing
integral promotions on one operand if the other is a pointer).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@322024
91177308-0d34-0410-b5e6-
96231b3b80d8