This is gcc bug #7808 (<a href="http://gcc.gnu.org/cgi-bin/gnatsweb.pl?database=gcc">http://gcc.gnu.org/cgi-bin/gnatsweb.pl?database=gcc</a>) reported and closed by Nicola Pero <nicola AT brainstorm DOT co DOT uk> The compiler seems to be ignoring casts from \'id<Protocol>\' to \'id\', and from \'id<Protocol1>\' to \'id<Protocol2>\'. It\'s a regression: previous compilers (eg 2.95 and 2.91.66) did the cast properly. --- ---
This bug fixed in upstream version 3.3 and test code from GCC's Bugzilla works with mingw32-gcc-3.3-alt1 crosscompiler. URL to GCC Bugzilla - http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7808
Should be fixed in gcc3.3-objc-3.3.2-alt1