On Fri, Nov 22, 2019 at 2:53 PM Andreas Fink <af...@list.fink.org> wrote: > In other words, going for clang doesnt mean ObjC 1.0 code wont run but it > means a lot of ObjC2.0 code will start to run.
The discussion is not whether ObjC2.0-and-later-unnamed-variants code will start to run (because it already runs), the question is whether core libs (Foundation, GUI and Back) should require ObjC2.0-and-later. At this time, it's #ifdef'able and/or runtime-detectable. If we drop GCC, we can forgo #ifdefs and other workarounds. But we invite complexities of things like blocks into the core codebase, which we may or may not want. However the decision is made, I'd vote for making a final release before any Clang-requiring features are added. Distro packagers should also voice their opinion on whether they can switch to Clang (and, hopefully, libobjc2), which I'd invite them to do no matter what the decision is on presence of Clang-dependent code in GNUstep core libs. Explicitly +cc Yavor for visibility; I don't know off the top of my head of package maintainers on other systems.