This attempts to address an issue with overload resolution for PrintNumber
with size_t parameters on Darwin, brought up in
https://reviews.llvm.org/D146492.
On Aarch64 Darwin, uint64_t has a different typedef than size_t
(e.g., unsigned long long vs. unsigned long), whereas on Linux and
Windows they are the same.
This commit also reverts the static_cast's added in
064e2497e2ebe9ac30ac96923a26a52484300fdf, since they are no longer
needed.
I'm not 100% on using a namespace here (or naming it internal), but I didn't want to introduce this into llvm::json by accident.
If there is a preference, or an llvm coding preference I've missed, please let me know. https://llvm.org/docs/CodingStandards.html#anonymous-namespaces didn't seem to be relevant from my reading, but I'm happy to adopt something else here that is more in line w/ the rest of the codebase.