discuss-gnustep
[Top][All Lists]
Advanced

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

Re: CoreBase parse errors with ARC enabled


From: Stefan Bidigaray
Subject: Re: CoreBase parse errors with ARC enabled
Date: Wed, 28 Jan 2015 11:41:00 -0600

It is developed, just not very actively, as of late.  If you need any of the following following types, you will need a work around because they aren't implemented:
* CFBundle
* CFMachPort
* CFMessagePort
* CFPlugIn
* CFPreference
* CFPropertyList (I'm slowly working my way through this one, at the moment)
* CFNotificationCenter
* CFUserNotification
* CFSocket (I'm not actually sure about this one, I think Lubos might've done some work on it a while back)
* CFXML* (these are now deprecated, and I do not plan on implementing them at all)

I would appreciate any bug reports you might throw my way and do my best to fix them but, to be perfectly honest, time is an issue.  I encourage contributions to CoreBase as it is in dire need of some TLC.

If you're willing to put some time into it, I would appreciate if you could see how far you can get with the current code before discarding it altogether.  The SVN version of the code is fairly useful, despite not yet stable.

Stef

On Wed, Jan 28, 2015 at 11:23 AM, Jens Alfke <jens@couchbase.com> wrote:
Looks like the issue is with the declaration of CFString — here's the snippet from CFBase.h:

> #if __OBJC__
> @class NSString;
> @class NSMutableString;
> typedef NSString * CFStringRef;
> typedef NSMutableString * CFMutableStringRef;
> #else
> typedef const struct __CFString * CFStringRef;
> typedef struct __CFString * CFMutableStringRef;
> #endif

This definitely isn't going to work with ARC, since it declares CFStringRef as an Objective-C object and gets the compiler involved in the refcounting of them. That causes trouble with the inline code in CFString.h, as I already found, and of course it'll be incompatible with any CFString-using code being ported from Apple platforms, which will be using manual CFRetain/CFRelease.

I can start messing with CFBase.h to remedy this, but I'm wondering if this is just the tip of the iceberg. I was already worried about CoreBase being numbered "0.1" and not being included in GNUstep … is it at all supported? Or would I be taking on a big development task to get it to work with my code?

—Jens
_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnustep


reply via email to

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