rfm
6667842dd5
Update FSF address as requested by Gregory
2024-11-07 13:37:59 +00:00
Hugo Melder
6eef1c3289
NSKeyValueCoding: Safe-Caching for -[NSObject valueForKey:] ( #445 )
...
* KVC Caching Implementation
* Do not ignore struct name when comparing type encoding as NSPoint and NSSize have the same layout
* Use fast-path when using Objective-C 2
* Guard old ValueForKey function when using the fast-path
* Add basic NSKeyValueCoding tests
* Update Copyright Years
* NSKeyValueCoding+Caching: Add Versioning to IVar Slot
* safe_caching: Remove Guards
* Add type encoding helper header
* Rename geometry structs (NSRect, NSPoint, NSSize) for toll-free bridging with CoreGraphics
* Move CG struct definitions to CFCGTypes.h
* Update known struct encoding prefixes
* Windows 64-bit is LLP64 and not LP64
* Re-order to avoid complier warning
---------
Co-authored-by: rfm <richardfrithmacdonald@gmail.com>
2024-10-29 14:12:34 +01:00
Riccardo Mottola
08858caf29
cleanup biolerplate comments, enable autogsdoc comments, cleanup some old RCS/CVS tags, fix emails
2023-12-23 02:44:50 +01:00
rfm
e027ff8585
Minor documentation tweaks
2023-10-30 16:56:05 +00:00
Mads Marquart
4033ee28a8
Fix NSGetSizeAndAlignment usage
...
The argument order is (*sizep, *alignp), but it was often incorrectly used the other way around.
2021-11-02 10:18:05 +01:00
Frederik Seiffert
40f88bc622
Enable _C_BOOL on non GNU C compilers
2021-08-08 17:27:40 +02:00
Frederik Seiffert
abfe4e2a04
Use native threading and locking APIs on Windows
...
Removes dependency on pthread library and uses fast Slim Reader/Writer (SRW) locks for NSLock/NSRecursiveLock/NSCondition/NSConditionLock as well as all internal locks. Adds GS_MUTEX_*() macros in GSPThread.h, that are being used for all internal locking instead of pthread APIs.
Also adds support for thread priorities on Windows, fixes method signature of +[NSThread setThreadPriority:] to match Apple platforms, and adds error handling in same method.
2021-07-29 14:22:27 +02:00
Richard Frith-Macdonald
1b7bf26bea
Merge changes for NSURLSession from EngageHub (formerly Brainstorm).
2020-11-29 06:57:47 -05:00
Richard Frith-Macdonald
09e9354f08
Fully type method implementatyion pointers.
2020-04-15 10:31:55 +01:00
Richard Frith-MacDonald
d40d219015
removal of garbage collection
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39608 72102866-910b-0410-8b05-ffd578937521
2016-03-25 11:15:28 +00:00
Richard Frith-MacDonald
bf5038e2ac
protect from both old runtime and old compiler
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39042 72102866-910b-0410-8b05-ffd578937521
2015-10-08 09:13:32 +00:00
Richard Frith-MacDonald
f6271e8e48
fixup for old runtime
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39041 72102866-910b-0410-8b05-ffd578937521
2015-10-08 09:04:48 +00:00
Richard Frith-MacDonald
e8f8da0618
fixup for old runtime
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39040 72102866-910b-0410-8b05-ffd578937521
2015-10-08 08:52:32 +00:00
Richard Frith-MacDonald
0c5d96eebd
changes intended to allow use of _Bool throughout
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39010 72102866-910b-0410-8b05-ffd578937521
2015-09-22 09:46:10 +00:00
Richard Frith-MacDonald
ef5cc5a88e
tiny fix for swizzling
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37978 72102866-910b-0410-8b05-ffd578937521
2014-07-04 11:10:08 +00:00
Richard Frith-MacDonald
ee7c2c64a4
add ifdef for _C_BOOL
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37764 72102866-910b-0410-8b05-ffd578937521
2014-03-25 13:49:30 +00:00
Richard Frith-MacDonald
51fc1f745e
patch by Mathias Bauer <mathias_bauer@gmx.net>
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37758 72102866-910b-0410-8b05-ffd578937521
2014-03-19 09:38:40 +00:00
Richard Frith-MacDonald
d475f7e0d4
fix leak
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37395 72102866-910b-0410-8b05-ffd578937521
2013-11-22 15:24:26 +00:00
Richard Frith-MacDonald
ed09c55959
leak detection improvements
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37003 72102866-910b-0410-8b05-ffd578937521
2013-08-22 15:44:54 +00:00
Richard Frith-MacDonald
97cecc058e
tweaks to keep static analyzer happy
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36527 72102866-910b-0410-8b05-ffd578937521
2013-04-14 16:25:27 +00:00
David Chisnall
4d097f3d9b
When trying to find the types of a method, lookup the untyped slot.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36056 72102866-910b-0410-8b05-ffd578937521
2013-02-02 15:26:13 +00:00
Richard Frith-MacDonald
0be505308d
simplification, including use of strtoull() everywhere
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35503 72102866-910b-0410-8b05-ffd578937521
2012-09-03 13:36:45 +00:00
Richard Frith-MacDonald
99dfb5b7da
selector comparison fixes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35336 72102866-910b-0410-8b05-ffd578937521
2012-08-02 09:27:59 +00:00
Richard Frith-MacDonald
91aea36304
Use GSSelectorTypesMatch() for types comparison where we are interested in types
...
but not qualifiers and stack layout information.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35304 72102866-910b-0410-8b05-ffd578937521
2012-07-20 04:43:58 +00:00
Richard Frith-MacDonald
186f17482a
fix for bug #36824
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35283 72102866-910b-0410-8b05-ffd578937521
2012-07-11 04:51:42 +00:00
Richard Frith-MacDonald
e3588d2fc0
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34005 72102866-910b-0410-8b05-ffd578937521
2011-10-15 18:36:51 +00:00
Richard Frith-MacDonald
4a5cb96bef
For the avoidance of confusion, remove references to obsolete header.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33562 72102866-910b-0410-8b05-ffd578937521
2011-07-15 13:53:45 +00:00
David Chisnall
7764740bdc
Make -drain and -release in NSAutoreleasePool do the same thing (rather than one calling the other) in non-GC mode.
...
Replace all -release messages sent to autorelease pools with -drain. In non-GC mode, these are equivalent. In GC mode, these trigger a collection.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33143 72102866-910b-0410-8b05-ffd578937521
2011-05-27 11:48:44 +00:00
David Chisnall
de2fd8df6e
More GC fixes. Most notably, mark the thread object as not collectable, since it's hidden away in TLS where the GC can't find it.
...
GC now works well enough for LanguageKit to run.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33123 72102866-910b-0410-8b05-ffd578937521
2011-05-26 13:24:13 +00:00
Richard Frith-MacDonald
8c89a47a8b
fix includes for gcc-4.6
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33069 72102866-910b-0410-8b05-ffd578937521
2011-05-19 08:19:24 +00:00
Eric Wasylishen
5bc5e9a64b
* Source/Additions/GSObjCRuntime.m (GSSelectorFromNameAndTypes):
...
With gcc 4.6 libobjc, GSSelectorFromNameAndTypes was calling some
functions like sel_get_any_typed_uid that were not declared (they're
declared in objc/objc-api.h which cannot be imported). I had to copy
over these function declarations, otherwise incorrect function calls
are generated which corrupt selectors (at least on x86-64).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32968 72102866-910b-0410-8b05-ffd578937521
2011-05-02 20:10:54 +00:00
Richard Frith-MacDonald
b1745e7d9d
Minor fixups for release ... mostly avoid failed testcases.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32837 72102866-910b-0410-8b05-ffd578937521
2011-04-12 05:41:53 +00:00
Nicola Pero
1074edb811
Improved checks for native ObjC exceptions. We now check the runtime support here, and disable them from here regardless of what gnustep-make did (this makes it easier to change the runtime without reconfiguring gnustep-make). Small update to ObjC runtime code for GCC 4.6
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32820 72102866-910b-0410-8b05-ffd578937521
2011-04-09 13:47:37 +00:00
Richard Frith-MacDonald
ac23609a4c
fix bug registering typed selectors
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32641 72102866-910b-0410-8b05-ffd578937521
2011-03-18 06:18:24 +00:00
Richard Frith-MacDonald
96e48988fc
avoid compiler/linker warnings
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32483 72102866-910b-0410-8b05-ffd578937521
2011-03-07 11:34:17 +00:00
Richard Frith-MacDonald
d18e29dde8
avoid compiler warnings
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32417 72102866-910b-0410-8b05-ffd578937521
2011-02-28 19:49:57 +00:00
Richard Frith-MacDonald
5a0f5c16ff
fixup error in runtime specific calls
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32415 72102866-910b-0410-8b05-ffd578937521
2011-02-28 18:16:49 +00:00
Richard Frith-MacDonald
074bf7a853
add code for other runtimes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32413 72102866-910b-0410-8b05-ffd578937521
2011-02-28 16:00:21 +00:00
Richard Frith-MacDonald
0b7c8ba8cf
fix typo
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32397 72102866-910b-0410-8b05-ffd578937521
2011-02-27 23:33:53 +00:00
Richard Frith-MacDonald
5168bd5e2e
simplify typed selector usage.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32396 72102866-910b-0410-8b05-ffd578937521
2011-02-27 23:29:25 +00:00
Richard Frith-MacDonald
05e186ac65
fix gc heade rlocation.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32388 72102866-910b-0410-8b05-ffd578937521
2011-02-27 17:53:14 +00:00
Richard Frith-MacDonald
61bc059d4a
Cleanup ... avoid accessing the 'isa' variable directly.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32247 72102866-910b-0410-8b05-ffd578937521
2011-02-20 16:21:43 +00:00
Richard Frith-MacDonald
7fa110e2c5
documentation fixes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32157 72102866-910b-0410-8b05-ffd578937521
2011-02-14 10:57:57 +00:00
Nicola Pero
0a0a147ae9
Updated for GCC 4.6
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31771 72102866-910b-0410-8b05-ffd578937521
2010-12-24 17:19:40 +00:00
Nicola Pero
30f098f9f8
Updated code to compile with GCC 4.6 and the new GNU Objective-C runtime
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31765 72102866-910b-0410-8b05-ffd578937521
2010-12-23 02:23:05 +00:00
Richard Frith-MacDonald
76b2adf16f
cleanup foundation includes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31682 72102866-910b-0410-8b05-ffd578937521
2010-11-28 09:30:05 +00:00
Richard Frith-MacDonald
9c8d4406d5
add arbitrary struct set/get
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31504 72102866-910b-0410-8b05-ffd578937521
2010-10-12 13:34:01 +00:00
Richard Frith-MacDonald
7960aa3ec6
Re-instate change from svn revision 31412 (just trusting it's OK).
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31502 72102866-910b-0410-8b05-ffd578937521
2010-10-12 11:55:04 +00:00
Richard Frith-MacDonald
0222fe1e6d
Fix broken KVC
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31460 72102866-910b-0410-8b05-ffd578937521
2010-10-01 12:01:02 +00:00
David Chisnall
7563e320b5
Add special case to KVC accessors for libobjc2: If there is a method with the
...
wrong types, try calling the method with the correct types. This enables the
TDD-fixup code to run and generate a KVC-compliant version of an existing
method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31412 72102866-910b-0410-8b05-ffd578937521
2010-09-24 19:31:46 +00:00