I have a test case and a patch that fixes this. I found the problem on mingw32 but I believe that this will be a problem on every platform, and for every version of gcc (gnu Objc runtime only).
I will attempt to attach the testcase and patch. -- Summary: libobjc doesn't initialize protocols in some cases Product: gcc Version: 3.4.2 Status: UNCONFIRMED Severity: normal Priority: P2 Component: libobjc AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jeremy at deadbeef dot com CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: mingw32 GCC host triplet: mingw32 GCC target triplet: mingw32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23214