Bignums in general work (and they did before too), but there are edge cases that breaks:
Pike v7.9 release 5 running Hilfe v3.5 (Incremental Pike Frontend)
-0x7fffffff;
(1) Result: -2147483647
-0x7fffffff - 1;
(2) Result: 2147483648
-0x7fffffff - 2;
(3) Result: -2147483649
Does (2) above produce a negative result in your build? I'm using the clang from Xcode 4.5 which identifies itself like this:
$ clang --version Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn) Target: x86_64-apple-darwin12.2.0 Thread model: posix