theraven
6d78040180
Initial support for running finalizers in a separate thread.
15 years ago
thebeing
e661e203d4
Re-enable function inlining.
15 years ago
thebeing
1653751263
Use -lgc on linux platforms.
15 years ago
theraven
c6fc399a73
Enable GC support by default. You can still turn it off with boehm_gc=no.
15 years ago
theraven
e05c9c2ff5
More GC fixes
15 years ago
theraven
fcc47bc7ce
Fix building without GC support. Still need to make sure that some of the GC functions always work, since they are expected to be no-ops in non-GC mode.
15 years ago
theraven
929f8f95b4
Improved a few GC functions.
...
Added objc-auto.h header, providing (documented) public interfaces to this
functionality.
15 years ago
theraven
ad16172625
First pass at implementing Apple-compatible GC using Boehm. Still needs some tidying, but the following work:
...
- __strong pointers, preventing objects from being freed
_ __weak pointers are automatically freed when the last remaining __strong pointer goes away
- objc_gc_{retain,release}_np() functions, which can be used to implement CFRetain() and CFRelease() (adds an reference count - the object will not be collected until after its last retain is gone.
15 years ago
theraven
d12de81cd6
Remove opts from default build - they must now be explicitly built.
...
Don't crash if objc_disposeClassPair() is called on a class that is not get
registered with the runtime.
15 years ago
theraven
12385fcb1e
Tidy up low memory profile to use slots directly.
15 years ago
qmathe
bd48461fb9
Fixed GNUmakefile to ensure legacy symbols are visible
15 years ago
theraven
928e7f3971
Try again...
15 years ago
theraven
6d112bb632
Don't accidentally default to compiling without legacy compat.
15 years ago
theraven
649ce9dd7f
Updated release announcement.
...
Made the LLVM optimisations build by default (if LLVM is installed).
15 years ago
theraven
789219a2cb
Expose the low memory profile as an option in the dtable.
15 years ago
theraven
d7056f6de2
Simplify @synchronize() and improve efficiency (space and time).
15 years ago
theraven
24de067017
Default to building without the legacy APIs, now GNUstep doesn't require them.
15 years ago
theraven
e198597bd3
Added support for associative references. Modified sync code to use this.
15 years ago
theraven
d51500184c
More cleanups. Stop using __ identifiers for internal stuff now that it's properly marked private and we don't have to worry about conflicts.
15 years ago
theraven
c2f572f9a1
Set the makefiles in trunk back to non-release mode.
15 years ago
theraven
b76b4be925
Disable selector type mismatch warnings, for the release.
15 years ago
thebeing
901c3b6a1c
Fix linking libobjcxx when libobjc has not yet been installed.
15 years ago
theraven
95ef5a93f9
Always use the first version of a class that's loaded twice until the merging code is a bit better tested.
15 years ago
theraven
23b26820f5
Make it easier to suppress mismatched selector warnings. It's useful for the runtime to tell you when your code is bad. Not so useful for it to tell you when someone else's code is bad...
15 years ago
theraven
600e970dea
Separate ObjC++ support out into libobjcxx. Now code that doesn't need ObjCXX support can safely ignore it again.
15 years ago
theraven
7e71ffe24d
Use correct pthread flag on OpenBSD.
...
Patch by Sebastian Reitenbach!
15 years ago
theraven
06ff4be6a9
More build system tidies.
15 years ago
theraven
496c66bd0b
Fix linker errors.
15 years ago
thebeing
ee7817cf57
Implement a hook that allows the compiler to register the aliases used with the
...
@compatibility_alias directive so that they can be resolved at runtime.
15 years ago
theraven
ed9d0f33c9
Actually install the header that's referenced.
15 years ago
theraven
7e465eb325
Tweak building without ObjC++ support a bit.
15 years ago
theraven
73e1e2934b
It turns out that Apple chose some confusing and non-intuitive semantics for
...
catching Objective-C objects in C++ catch statements (i.e. they follow
Objective-C semantics, not C++ semantics, irrespective of whether you use C++
or ObjC syntax). We now default to Apple-compatible behaviour, but provide a
function that allows users to select the sane semantics if they prefer.
Added a capability bit for the unified exception model, so code can require it.
This is not really required, since any code using it will link against the
ObjC++ personality function and will get a linker failure if it isn't supported.
Also enabled Objective-C++ stuff by default. This adds a dependency on the C++
standard library (actually on libsupc++, but GNUstep Make wants to link against
libstd++ anyway), which is not ideal. It can be disabled with:
$ gmake objectiver-cxx=no
I suggest that this is only done by people who know that they will never want
Objective-C++ support.
15 years ago
theraven
e0719a9c62
Added Objective-C++ exception handling support. Allows throwing Objective-C objects with throw or @throw and catching them with catch() or @catch.
15 years ago
theraven
df4570b90e
Change language dialect to gnu99 from c99 - earlier commit required this, but I
...
forgot to commit the GNUmakefile change. Note: the anonymous structure field
extension that requires this is part of C1X, so we can probably change this to
--std=c11 once C1X is actually finalised.
15 years ago
theraven
8db63b976f
Initial work on developer mode (allows classes to be replaced at run time with new versions, by cooperating IDEs). This support is part of ongoing work to provide fix-and-continue functionality with Clang / Cling and LanguageKit.
15 years ago
theraven
4ab4b4033b
Bumped version to 1.1
15 years ago
theraven
a83428b883
Move toydispatch into libobjc2.
...
Some build system tidies.
Add -retain / release to Protocol.
Initial work on clang-specific makefile.
15 years ago
theraven
ee32f78b0a
Tweaked the GNUmakefile to (more or less) work with gcc.
...
Fixed block introspection for the new (Apple-compatible) ABI.
16 years ago
ericwa
39b0655877
libobjc2: another makefile hack to get mingw to declare strdup
16 years ago
ericwa
56341816a5
libobjc2: Makefile hack to get the __sync_* GCC builtins to work on Windows
16 years ago
rmottola
c7673659bb
added package information to the makefile
16 years ago
ericwa
9e64fb7828
undo accidentally commited stuff
16 years ago
ericwa
dbb8ea2090
add deprecated sel_eq function for compatibility
16 years ago
theraven
033676b9e7
Enable type-dependent dispatch by default. Stack corruption is bad, m'kay?
16 years ago
theraven
00004fe5f3
More tweaks to the GNU-compatibility encoding stuff. This API is too broken to use, but GNUstep seems to want it.
16 years ago
theraven
0177ef56e1
Tweak the type encoding stuff a bit.
16 years ago
theraven
ab59ce1d33
Add feature test APIs to libobjc2.
16 years ago
rfm
cd1d274928
Remove usage of -march=native since it doesn't work with most compilers, and
...
also causes problems with builds on server farms where the build machine is
not the machine the code will run on.
16 years ago
ericwa
52bdf1484f
libobjc2: add dummy objc.h and objc-api.h headers which simply include runtime.h
16 years ago
ericwa
7a2c302c5f
libobjc2: tweaks to build on Windows
16 years ago