Commit graph

821 commits

Author SHA1 Message Date
rfm
5a9eeec452 Merge branch 'master' into weakref 2024-12-31 14:33:53 +00:00
rfm
46d19b5dd5 Updates for changes to IANA time zone data. 2024-12-31 14:31:43 +00:00
rfm
7072a38eb3 Add tests for MET time zone setup 2024-12-31 13:13:04 +00:00
rfm
7bb34b7102 Prodyce more informative logging 2024-12-31 12:17:52 +00:00
rfm
0ede979d15 Fixes for tests with weak pointers in notification observers. 2024-12-28 07:48:32 +00:00
rfm
bdf4403195 Weak pointer support fixes and use for notification observers. 2024-12-28 07:48:32 +00:00
rfm
c66bd6ec5c Preliminary code for emulation of the objc2 runtime weak reference feature 2024-12-28 07:48:32 +00:00
rfm
34112fa510 Fix leaks in tests 2024-12-23 17:38:14 +00:00
rfm
394d858813 Fix leaks in tests 2024-12-23 13:16:14 +00:00
Hugo Melder
3f27cb0d23 NSKVOSupport: Mark proxy test as hopeful 2024-12-13 03:29:30 -08:00
Hugo Melder
cd09be4c53 NSKVOSupport: Move ivar block to declaration
GCC does not support private ivar definitions in the implementation
block.
2024-12-13 03:29:30 -08:00
Hugo Melder
d4de228c6f NSKVOSupport: Add observer via proxy test
The new KVO implementation for libobjc2/clang, located in Source/NSKVO*, reuses
or installs a hidden class and subsequently adds the swizzled method to the
hidden class. Make sure that the invocation mechanism calls the swizzled method.
2024-12-13 03:29:30 -08:00
Hugo Melder
4b3bd1aa90
NSPointerArray: Implement fast enumeration (#477)
* NSPointerArray: Implement NSFastEnumeration

* NSPointerArray: Test for duplicate values in array

* NSPointerArray: Fast enumeration tests
2024-12-13 12:01:07 +01:00
rfm
e231fe2067 Increase timeout for slow testcase on mingw 2024-12-05 14:00:37 +00:00
rfm
2de7793dbc copy cache key in case it is mutated 2024-12-04 19:43:45 +00:00
rfm
9cdb4f98ba asan fixes for gcc and gnu runtime 2024-11-30 19:06:40 +00:00
rfm
018111efbb LeakSanitizer fixups for gcc and gnu runtime 2024-11-30 18:23:48 +00:00
Matvii Jarosh
410b295b01 Add EdgeInsets missing function in value 2024-11-21 13:01:31 +02:00
rfm
6f02b87ae1 Fix compiler warnings about variable size 2024-11-19 09:28:19 +00:00
rfm
bb4bcaff9d Fix leak 2024-11-18 19:17:16 +00:00
rfm
67eeb932d1 Add tests for class and protocol lists 2024-11-18 14:33:52 +00:00
rfm
240df48ec8 Avoid deadlock in cleanup functions/methods called by atexit() 2024-11-18 09:19:04 +00:00
rfm
96bbc05b18 More leak fixups 2024-11-17 21:41:43 +00:00
rfm
9e504da2df Don't have the subtask crash when logging zombie message. 2024-11-17 20:50:17 +00:00
rfm
2c9e521789 allow more time for slow tests 2024-11-17 19:31:54 +00:00
rfm
cd3e69245d More leak management fixes 2024-11-17 16:16:46 +00:00
rfm
90082eccac Revert last change 2024-11-17 15:03:22 +00:00
rfm
7cff5fc106 Fix more leaks 2024-11-17 13:32:31 +00:00
rfm
0fb9739f21 Fix leaks and a possible buffer overrun 2024-11-17 12:55:55 +00:00
rfm
5b46efa8cd More leak fixes 2024-11-16 21:11:56 +00:00
rfm
c7f0c27dd7 More leaks fixed 2024-11-16 14:07:33 +00:00
rfm
aedd13dc94 More leaks fixed 2024-11-16 13:34:56 +00:00
rfm
87c50830e2 Fix some more leaks 2024-11-16 11:51:53 +00:00
rfm
088b76bed1 Fix leaks 2024-11-15 21:21:41 +00:00
rfm
77c66e3d95 Fix leaks 2024-11-15 20:48:09 +00:00
rfm
093ab72a47 Fix leaks 2024-11-15 16:00:47 +00:00
rfm
91be2c2c83 Fix leaks 2024-11-15 15:44:39 +00:00
rfm
2f9f0d6761 Fix leaks 2024-11-15 13:00:56 +00:00
rfm
a1e17402cf fix leaks 2024-11-15 12:27:48 +00:00
rfm
36822d6eef Fix leaks 2024-11-15 11:00:57 +00:00
rfm
6386ac5474 Fix leaks 2024-11-15 10:49:19 +00:00
rfm
2f3b258bd1 Fix leaks 2024-11-15 10:44:29 +00:00
rfm
050f44806c fix leaks 2024-11-14 20:26:37 +00:00
rfm
43484b2c34 Fix deallocation of placeholder strings at exit. 2024-11-14 16:18:26 +00:00
rfm
28ba7788ce Fix the case where we replace a value already in the map 2024-11-12 14:27:06 +00:00
rfm
b78b2e2030 hash/map table and pointer functions fixups 2024-11-12 12:03:24 +00:00
rfm
c981920679 Revert "Retain count fixes"
This reverts commit 544dcce482.
2024-11-10 20:13:39 +00:00
Hugo Melder
6681a3da47
Initial port of WinObjC's KVO implementation to GNUstep (#420)
* GSAtomic: Add prefix to macro definitions

* NSKVOSupport: Import

* NSKVOSupport: Add test cases

* NSKVOSwizzling: Ugly C Rewrite

* NSKeyValueObserving: Use old implementation as fallback

* NSKeyValueObserving: Rename TypeEncodingCases header

* NSKVOSupport: Fix new objects not being added to NSKeyValueChangeNew set on set mutation

* NSKeyValueMutableSet: Fix will and didChange notifications for set operations

* NSKeyValueMutableSet: Document Accessor Search Patterns

* NSKVOSupport: Add toMany test

* NSKeyValueCoding: Change notifications when changing value via setValue:forKey:

* NSKVOSupport: Add more tests

* NSKVOSupport: Do not wrap block in try/finally to avoid crash in windows

* NSKVOSwizzling: use _alloca on Windows

* NSKVOSupport: Do not autorelease newWithObservee:

* NSKVOSupport: Do not leak Observee and TestFacade objects

* Improve runtime detection in makefile

* Add file extension of source file in GNUMakefile

* NSKVOSupport: Remove @status comments

* NSKVOSupport: Implement private notify method

* NSUserDefaults: KVO Support and fix macOS incompatibilities

* NSKeyValueObserving: Set old to null if nil

* NSKeyValueObserving: Remove cached new value

* NSMethodSignature: Add signature cache

* NSKVOSupport: Remove ObjC2 features and mark tests failing on GCC as hopeful

* Call class method instead of private _keyPathsForValuesAffectingValueForKey

* Move _keyPathsForValuesAffectingValueForKey body into class method and statically construct empty NSSet

* NSUserDefaults: Change notification should contain old value from other domains aswell

* NSUserDefaults: Fetch new value from all domains

* NSKVOInternal: Fixup filename in header

* NSUserDefaults: Go through search list instead of only one domain in KVO change

* Making indentation a bit less worse

* Add NSUserDefaults KVO tests

* NSKVOSupport: NSUserDefaults test small fixes

* Add autoreleasepool

* NSUserDefaults: Only emit change notifications if value changed

* Avoid compiler warnings and tidy some of the whitespace/formatting

---------

Co-authored-by: Frederik Seiffert <frederik@algoriddim.com>
Co-authored-by: rfm <richardfrithmacdonald@gmail.com>
Co-authored-by: rfm <rfm@gnu.org>
2024-11-10 17:05:23 +01:00
rfm
544dcce482 Retain count fixes 2024-11-10 14:14:42 +00:00
rfm
44222342b0 Fix for issue 461 2024-11-09 11:09:22 +00:00