gnustep / libobjc2

Objective-C runtime library intended for use with Clang.
http://www.gnustep.org/
MIT License
434 stars 118 forks source link

Don't rely on load order for built-in classes. #294

Open davidchisnall opened 4 months ago

davidchisnall commented 4 months ago

Generate these classes using the structures that the runtime expects internally, rather than relying on the Objective-C compiler. This change means that they can always be the latest version, even if the runtime is compiled with an older compiler, and ensures that the Protocol class is always available, independent of global constructor ordering between libraries.

Fixes #283

davidchisnall commented 3 months ago

CI is failing for Windows 2022 because GitHub broke the Windows 2022 images.