This is part of a patch series working towards the ability to make
SourceLocation into a 64-bit type to handle larger translation units.
In many places in the code, SourceLocation::getLocWithOffset is used
with an argument of type unsigned, holding a value that's
conceptually negative (to find a location shortly before the current
one). If SourceLocation becomes a 64-bit type, this won't work any
more, because the negation will happen before widening to 64 bits, so
that instead of an offset of (say) -3, you'll get 2^32-3.
This patch fixes that problem in the short term, by adding casts to
SourceLocation::IntType at all the current call sites. I haven't
thought of a reliable way to protect against the introduction of new
call sites that similarly get it wrong, though.