Each compiler has its quirks, in the world of C and C++. This sort of crap comes with the territory. At least GNU compilers are free.
So what's your bool.h look like?
Oh, and GNU compiler optimizations are not to be trusted on many target platforms. Just write tight code instead. Except... you gotta have -O3 (? something like that) or your inline functions won't be inlined at all.