https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85744
--- Comment #7 from cerlane <cerlane at nscc dot sg> --- (In reply to Jonathan Wakely from comment #5) > You should have read https://gcc.gnu.org/bugs/ which explains what we need > for a valid bug report, and would have done that before reporting it. > > You probably forgot to declare the function in the calling code so the > compiler assumed it returned int, and only used the low 32 bits, which are > all zero. No that is not true. I have the function declared in the header file. It is included everywhere. The problem is harder to debug. For all other #values, they work correctly. I still can't figure out the issue. I tested every combination including compiler flags before my last reply. If it turns out to be a compiler issue, I will resubmit. Thanks.