Thank you, John. I re-posted this question onto the gcc mailing list, and I got answer there. Andrew Pinski said, "Works for me on i686-pc-darwin with GCC 4.0.0 and above. It does print out -1024 on powerpc-darwin with GCC 3.3 though. " And I verified it does work on Linux with GCC 4.4.1. So, It's just a matter of version. Best regards, Ding Curie