Hello,
I have recently reported GCC bug #34030
(http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34030)
As it might have been fixed in 4.2.3, and as my concern is primarily for
the 4.1.1 branch (we don't want to upgrade now), I am ready to fix it in
my own sources.
However, I am not familiar with the involved compiler passes, so any
advice on where to search would help me.
Given the fact that it is generic (I reproduced it on several targets),
and that removing the (void*) cast in the sample code, I suppose it has
to do with early lowering phases that incorrectly propagate (or not) the
type of comparison operands.
Thanks for your suggestions,
Christophe.