This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Miscompilation of remainder expressions


Hi Roberto,

Reading the thread "Autoconf manual's coverage of signed integer
overflow & portability" I was horrified to discover about GCC's
miscompilation of the remainder expression that causes INT_MIN % -1
to cause a SIGFPE on CPUs of the i386 family.  Are there plans to
fix this bug (which, to me, looks quite serious)?

If I understand correctly your problem, I was also battling with it a few days ago, and found 5.6/4 rather obscure, i.e., I'm not sure to understand what we can reasonably expect from the remainder operator when one or both operands are negative... Then, while fixing libstdc++/30416 I decided to be super-safe, that is only compute remainders of nonnegative operands... I would like to understand the issue better, however...


Paolo.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]