Fix NSXML ABI breakage

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34412 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2012-01-04 12:41:45 +00:00
parent 40f8c557c9
commit ded72b8e75
13 changed files with 384 additions and 228 deletions

View file

@ -95,21 +95,26 @@ GS_##name##_IVARS; \
/* Create holder for internal ivars.
*/
#define GS_CREATE_INTERNAL(name) \
_internal = [name ## Internal new];
if (nil == _internal) { _internal = [name ## Internal new]; }
/* Destroy holder for internal ivars.
*/
#define GS_DESTROY_INTERNAL(name) \
if (nil != _internal) {[_internal release]; _internal = nil; }
if (nil != _internal) { [_internal release]; _internal = nil; }
/* Create a new copy of the current object's internal class and place
* it in the destination instance. This poduces a bitwise copy, and you
* it in the destination instance. This produces a bitwise copy, and you
* may wish to perform further action to deepen the copy after using this
* macro.
* Use this only where D is a new copy of the current instance.
*/
#define GS_COPY_INTERNAL(D,Z) (D)->_internal = NSCopyObject(_internal, 0, (Z));
/* Checks to see if internal instance variables exist ... use in -dealloc if
* there is any chance that the instance is being deallocated before they
* were created.
*/
#define GS_EXISTS_INTERNAL (nil == _internal ? NO : YES)
#undef internal
#define internal ((GSInternal*)_internal)
@ -129,6 +134,8 @@ if (nil != _internal) {[_internal release]; _internal = nil; }
#define GS_COPY_INTERNAL(D,Z)
#define GS_EXISTS_INTERNAL YES
/* Define constant to reference internal ivars.
*/
#undef internal