Re:Swift 5.0 release process
by slavapestov on Tuesday September 25, 2018 @10:45PM
(#18072316)
> An ABI can't really be "additive". If you add stuff to an ABI, it's a new ABI.
Not really. You can add new concepts to an ABI without breaking existing code.
Suppose version N+1 of some compiler adds a new language feature, like async/await or whatever. It might involve a new calling convention and symbol mangling for async functions. However non-async functions would not be affected.
Of course if the library author removes old entry points they will break old client apps, but that's not a property of the compiler.
Not really. You can add new concepts to an ABI without breaking existing code.
Suppose version N+1 of some compiler adds a new language feature, like async/await or whatever. It might involve a new calling convention and symbol mangling for async functions. However non-async functions would not be affected.
Of course if the library author removes old entry points they will break old client apps, but that's not a property of the compiler.