Currently, clang crashes with i386 target on the following code:
void f() { f + 0xdead000000000000UL; }
This problem is similar to the problem fixed in D104424, but that fix can't handle function pointer case, because getTypeSizeInCharsIfKnown() says that size is known and equal to 0 for function type.
This patch prevents bounds checking for function pointer, thus fixes the crash.
Ah, I see... I originally made the comment thinking that we wanted to be able to get to ~15540 (which this 'return' would seem to undo), but I see this block ends in 'return' anyway. I'm happy with this change the way it is.