On Feb 4, 2011, at 15:54, Ivan Vučica wrote: > > > If you refer to for(id x in y) syntax, I believe you just need to use a > compiler with objc2.0 support, as well as a sufficiently recent runtime.
That, and support for the fast enumeration protocol in Base collections. This exists at least in base-1.20.1. This doesn't actually resolve the question, though, it just restates it. Which compilers support [this aspect of] Objective-C 2.0 outside of Apple's platforms? Neither gcc nor clang provide sufficiently comprehensive release notes to determine this sort of thing reliably. (It seems that the answer is "Clang 2.6", since "Most of Objective-C 2.0 is now supported with the GNU runtime", but it might not be.) How do I detect, at build time, which runtime I'm using, and precisely which version of what runtime has the necessary support? This is the sort of information one might expect to find on the ObjC2_FAQ wiki page, but one doesn't (and it's probably out of date anyway). Basically, my choices are: * Test a rather large set of compiler, runtime and library versions together under a VM. * Hope that someone (i.e. David) imparts Secret Lore. * Continue to use slow enumeration extensively throughout Oolite for the next couple of years, except on 64-bit Mac OS X. I know writing documentation is the most boring thing in the world after reading it, but this isn't exactly an inviting situation (or "good developer story", as people insist on calling it). P.S.: Sorry for the double post earlier, I thought it wasn't appearing because I'd posted from the wrong account. -- Jens Ayton _______________________________________________ Discuss-gnustep mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnustep
