------- Comment #4 from tlesher at digium dot com 2009-11-21 14:05 ------- (In reply to comment #3) > (In reply to comment #2) > > I've also confirmed that using the 'may_alias' attribute in the 64-bit > > version > > suppresses the warning, although I think this qualifies as a workaround, > > not a > > fix to the problem. I'm also not sure how our project leaders would > > consider > > such a workaround, given that the intent behind extra warnings is to make > > the > > code better. > > It is not a work around, it fixes the aliasing issue in your code. >
Let us suppose that you are correct, that there is an aliasing issue in my code. Why would code that differs only by length of type generate an aliasing warning on 64-bit but remain silent on 32-bit? Does not that point to a similar aliasing problem in the 32-bit case? Why does gcc not generate a warning in that case? Or if gcc is correct in not generating a warning for 32-bit, why is it correct to generate that warning for 64-bit? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42103