discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Clang/LLVM migration roadmap


From: Andreas Fink
Subject: Re: Clang/LLVM migration roadmap
Date: Sun, 6 Feb 2022 10:35:40 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:52.0) Gecko/20100101 PostboxApp/7.0.54

So to summarize up, we need to get libobjc2 properly working under MSYS2 and we can continue with clang.
What are the isuses with libobjc2 not working under MSYS2? From what I know libobj2 should not have many dependencies on the operating system itself (well memory management and multithreading but not much more I believe) but more on the architecture. But thats a birds eye view...

Gregory Casamento wrote on 06.02.22 01:14:
All,

As promised in my reply to Wolfgang, I am starting the thread regarding this migration.

There are a number of factors that are driving this:
--
1) GCC lacks support for many memory management features that are commonly used today
2) GCC's objective-c support is lagging behind and doesn't include support for @[], @{}, @autorelease, etc etc etc
3) Lack of bug fixes in GCC's implementation of ObjC
4) GCC team does not consider ObjC release critical and will and HAS released with broken support for building ObjC targets.  
All of these things are UNACCEPTABLE

There are a number of reasons why we still use GCC:
--
1) Currently, libobjc2 does not support some architectures and also does not build easily on Windows under MSYS2.  While some older architectures are, perhaps, not as important, building on Windows under MSYS2 is critical.
2) GNUstep is an FSF project, so there is a political component if we don't support GCC anymore.   This is not a show-stopper but is something to consider.

Advantages of LLVM/Clang
--
1) ARC
2) support for modern features in objc that are commonly used
3) more developers will be able to port their applications to GNUstep

Disadvantages
--
1) libobjc2 is currently, as stated above, unstable or unsupported on some architectures / operating systems.

Approach
--
1) make sure that libobjc2 is supported on as wide a range of platforms as possible.  
2) Fix issues with building on Windows/msys2

We should make the transition as easy as possible for people who are currently using GCC to switch over to Clang/LLVM.

Please feel free to discuss...

Yours, GC
--
Gregory Casamento
GNUstep Lead Developer / OLC, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
https://www.patreon.com/bePatron?u=352392 - Become a Patron
https://gf.me/u/x8m3sx - My GNUstep GoFundMe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]