cpp preprocessor: do not crash when dividing -2**63 by -1

The result of this operation can't be represented in a long, and thus
triggers a crash (yay for C++).
I think this is a special case, or are there more similar problems?

File reproducing the issue:
https://chromium.googlesource.com/native_client/nacl-toolchain/+/gcc-4.5.0/gcc/gcc/testsuite/gcc.dg/cpp/arith-3.c