Note: When I refer to uintptr_t know that I'm talking about both uintptr_t and intptr_t
I will be honest that this is technically correct according to the c++ standard, which states that a uintptr_t must be an integer type capable of storing a pointer, and if uintptr_t is greater than the size of a pointer then it is capable of storing a pointer.
I'm mostly logging this to see if this is an oversight or intentional, as most people assume that a uintptr_t is the size of a pointer.
If this is determined to be an issue, then it's likely due to ppu-gcc defining __PTRDIFF_TYPE__ as long int