The attached program ICEs the Objective C compiler. Two situations in which it won't are if it is compiled with -DNOCRASH1 or -DNOCRASH2.
$ gcc -v Reading specs from /packages/gcc/lib/gcc/i686-pc-linux-gnu/4.0.0/specs Configured with: /src/gcc/configure --prefix=/packages/gcc --srcdir=/src/gcc Thread model: posix gcc version 4.0.0 20041112 (experimental) -- Summary: ICE compiling Objective C code with protocol-qualified objects Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: objc AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mgd at santafe dot edu CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: powerpc-apple-darwin7.5.0, i686-pc-linux-gnu GCC host triplet: powerpc-apple-darwin7.5.0, i686-pc-linux-gnu GCC target triplet: powerpc-apple-darwin7.5.0, i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18456