gnustep-dev
[Top][All Lists]
Advanced

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

Re: Heads Up: ABI Change


From: Stefan Bidi
Subject: Re: Heads Up: ABI Change
Date: Fri, 11 Feb 2011 13:02:18 -0600

On Fri, Feb 11, 2011 at 9:15 AM, Richard Frith-Macdonald <address@hidden> wrote:
No ... this sort of stuff rarely actually breaks anything (how often does anyone want to subclass these things) but we have a 'contract' with our uses not to break ABI compatibility for stable releases (except very rarely on a major release).  I would really like to be able to make a new minor stable release (so distributions can adopt it quickly without worrying about backward compatibility) by copying from svn trunk.  So really we want to make sure that there are no changes in the size of the ivars of existing classes.  This means that either we need to modify things so we are not using any new ivars in NSDateFormatter and NSNumberFormatter, or our next stable release really can't contain the latest implementation for these two classes. The 'padding' instance variable in each class definition is there precisely so that we can set gs_unused to be a pointer to extra data if we need to add instance variables without breaking the ABI.
 
The changes to the formatters were quite invasive, including breaking the default behavior as they now default to 10.4+ behavior.  I really couldn't use the padding pointer because I added a lot of new ivars.  The only way I could have done anything with it is if I made it a pointer to a structure.  Is this what I should have done here?

The good news is that I didn't modify anything else but add the new behavior, so a new stable release can be done by simply omitting all the changes I did.

Stef

reply via email to

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