Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove support for 10.7 #74

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Remove support for 10.7 #74

wants to merge 4 commits into from

Conversation

ghost
Copy link

@ghost ghost commented Oct 11, 2016

I also fixed some linker errors that appeared when switching to 10.8 deployment target. Note that my system is 10.12, so I can’t fully test 10.8 compatibility.

See: #61

I also fixed some linker errors that appeared when switching to 10.8
deployment target. Note that my system is 10.12, so I can’t _fully_
test 10.8 compatibility.
@ghost
Copy link
Author

ghost commented Oct 11, 2016

It looks like the comment saying that macOS 10.7 doesn't allow you to add a pointer past the end of the array still applies at least in 10.9, given that's what Travis CI is running the tests with. It compiles and tests fine on my 10.12 machine though.

Copy link
Member

@ericwa ericwa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working on this!
@qmathe my main concern is, won't we need most of the 10.7 compat stuff on gnustep?

@@ -203,15 +203,6 @@ - (void)dealloc
{
[_db close];
});

#if !(TARGET_OS_IPHONE)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should change to #if defined(GNUSTEP)
and the start of the comment should be changed to We are using deployment target 10.8, so ARC will manage libdispatch objects automatically. For GNUstep....

*
* For referring object graph contexts, when unloaded or finalized, the
* deallocation will trigger their removal of their inner objects from the hash
* tables in the cache on 10.8 or iOS 6 or higher, but not on 10.7.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd keep this comment, but change the end to

10.8 or iOS 6 or higher, which we require.

@@ -124,14 +124,6 @@ - (void)dealloc
[db_ close];
db_ = nil;
});

#if !(TARGET_OS_IPHONE)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should change to #if defined(GNUSTEP)
and the start of the comment should be changed to We are using deployment target 10.8, so ARC will manage libdispatch objects automatically. For GNUstep....

dotFilePath,
pdfPath] UTF8String]);
[NSTask launchedTaskWithLaunchPath:executablePath
arguments:@[@"-Tpdf", dotFilePath, pdfPath]];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing the -o param and waitUntilExit:

    NSTask *task = [NSTask launchedTaskWithLaunchPath:executablePath
                                                arguments:@[@"-Tpdf", dotFilePath, @"-o", pdfPath]];
    [task waitUntilExit];

Add back GNUstep compatibility, make requested changes to comments, and
fix Graphviz task execution.
@qmathe
Copy link
Member

qmathe commented Oct 11, 2016

@ericwa Well, my plan was to wait to get the test suite working again on GNUstep, before removing any 10.7 support. Since I don't have the time to fix CO on GNUstep currently, it might be simpler to move forward and remove 10.7 support even if this causes us some extra work on GNUstep later.

I might have a bit more time next week to get CO working on GNUstep again. Not sure yet though.

My main worry was about the zeroing weak reference support on GNUstep. For example, if we remove -[COCrossPersistentRootDeadRelationshipCache removePath:]. iirc this method is only needed if we don't have zeroing weak references.

executablePath,
dotFilePath,
pdfPath] UTF8String]);
NSTask *task = [NSTask launchedTaskWithLaunchPath:executablePath
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A space is missing between launchedTaskWithLaunchPath: and executablePath. Same right after arguments:.

@@ -91,8 +91,6 @@ - (instancetype)init
- (void)dealloc
{
#ifdef DELETE_STORE_AFTER_EACH_TEST_METHOD
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DELETE_STORE_AFTER_EACH_TEST_METHOD should now be defined by default or removed. @ericwa, what's your take on this?

@@ -32,14 +28,7 @@ - (void)addReferringObject: (COObject *)aReferrer

if (referringObjects == nil)
{
// FIXME: If we don't ditch 10.7 support, we need a reverse mapping
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be checked, I'm not 100% sure about what follows… I think we should either keep this comment somewhere or remove _referringObjectToPaths. If this FIXME is fully correct, _referringObjectToPaths is probably only needed for -removePath: to work around missing support for zeroing weak references.

@ericwa, any comments on this point?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants