ObjFW  History of src/macros.h of 986e12aa9cafe28f

History of the file that is called src/macros.h at check-in 986e12aa9cafe28f

2024-04-03
02:16
[7e3d0a019b] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 19756) [annotate] [blame] [check-ins using] [diff]
2024-04-02
03:21
[d86f5f8b91] part of check-in [1af54eb2c2] Only align OFVector4D where necessary

Changing the alignment of OFVector4D globally (as was done previously)
would have technically been an ABI break in extremely rare cases.
However, since we only need the alignment for the methods added after
1.0, it's better to only have the alignment there and get back to full
ABI compatibility with 1.0. (check-in: [1af54eb2c2] user: js, branch: trunk, size: 19548) [annotate] [blame] [check-ins using] [diff]

2024-02-13
22:06
[1147a05908] part of check-in [c80075f6e4] Don't use max_align_t for OF_BIGGEST_ALIGNMENT

Now that we use SSE in some inline assembly, it needs to be at least 16.
However, _Alignof(max_align_t) can be just 8. (check-in: [c80075f6e4] user: js, branch: trunk, size: 19543) [annotate] [blame] [check-ins using] [diff]

2024-02-03
11:41
[a9c95c99e1] part of check-in [7324ec8590] Update copyright (check-in: [7324ec8590] user: js, branch: 1.0, size: 18922) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[f9c11c2712] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 19444) [annotate] [blame] [check-ins using] [diff]
2023-11-09
21:09
[779db83f80] part of check-in [1b22456db6] Use named operands for __asm__ (check-in: [1b22456db6] user: js, branch: trunk, size: 19444) [annotate] [blame] [check-ins using] [diff]
2023-11-03
00:16
[c4d1f32dd0] part of check-in [7f304f573b] OFMatrix4x4: SSE4.1 for -[transformVectors:count:]

This requires the vectors to be 16 byte aligned. In order to achieve
this, the OFVector4D type is changed to have an alignment of 16 bytes.
However, this does *not* break ABI because the only method actually
requiring 16 byte alignment is -[transformVectors:count:], which was not
in ObjFW 1.0. Hence binaries compiled for ObjFW 1.0 have no 16 byte
alignment for OFVector4D, but also cannot ever call into any code that
needs it. (-[transformedVector:] calls into -[transformVectors:count:],
but creates a properly aligned copy that it passes.) (check-in: [7f304f573b] user: js, branch: trunk, size: 19412) [annotate] [blame] [check-ins using] [diff]

2023-10-26
20:05
[d9f6837658] part of check-in [d62ec447d0] Make OF_DEPRECATED work with Apple GCC 4.0.1 (check-in: [d62ec447d0] user: js, branch: trunk, size: 19340) [annotate] [blame] [check-ins using] [diff]
19:42
[36c9f66b6e] part of check-in [a1ab43e0b3] Make headers compatible with -masm=intel (check-in: [a1ab43e0b3] user: js, branch: trunk, size: 19195) [annotate] [blame] [check-ins using] [diff]
2023-10-15
14:59
[8e5d433333] part of check-in [f2891af000] macros.h: Add missing #else

Nothing breaks, but just in case we ever have an Objective-C compiler
that is not GCC-compatible. (check-in: [f2891af000] user: js, branch: trunk, size: 19157) [annotate] [blame] [check-ins using] [diff]

14:53
[1006063eb3] part of check-in [b84438dcfd] macros.h: Add OF_DEPRECATED (check-in: [b84438dcfd] user: js, branch: trunk, size: 19100) [annotate] [blame] [check-ins using] [diff]
2023-09-06
19:01
[caf7b03bf1] part of check-in [c98df52cff] Fix headers for ObjC++ (check-in: [c98df52cff] user: js, branch: trunk, size: 18922) [annotate] [blame] [check-ins using] [diff]
2023-08-30
11:45
[bf1dc0fc01] part of check-in [5ea06b70ce] Merge trunk into branch "amiga-library" (check-in: [5ea06b70ce] user: js, branch: amiga-library, size: 18971) [annotate] [blame] [check-ins using] [diff]
2023-08-09
09:08
[50c6f2e2c4] part of check-in [36310f6263] Add OF_SINGLETON_METHODS (check-in: [36310f6263] user: js, branch: trunk, size: 18851) [annotate] [blame] [check-ins using] [diff]
2023-07-15
20:57
[f7fda82d09] part of check-in [860b0bf1e9] Merge trunk into branch "amiga-library" (check-in: [860b0bf1e9] user: js, branch: amiga-library, size: 18591) [annotate] [blame] [check-ins using] [diff]
2023-04-22
20:22
[4191bc0c4c] part of check-in [b7a4e61b88] Rename x86_64 to AMD64

It's just a less awkward name and also what the BSDs use. (check-in: [b7a4e61b88] user: js, branch: trunk, size: 18471) [annotate] [blame] [check-ins using] [diff]

2023-01-06
09:04
[73ff2f7764] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 18478) [annotate] [blame] [check-ins using] [diff]
2022-11-16
01:31
[20d23907ce] part of check-in [3c13b15751] Merge trunk into branch "amiga-library" (check-in: [3c13b15751] user: js, branch: amiga-library, size: 18598) [annotate] [blame] [check-ins using] [diff]
01:27
[07933aec14] part of check-in [c86b8f10f0] Add OFAssert()

This uses the same format as OFEnsure(). (check-in: [c86b8f10f0] user: js, branch: trunk, size: 18478) [annotate] [blame] [check-ins using] [diff]

2022-11-15
23:09
[f91adbff97] part of check-in [a151c9797b] Merge trunk into branch "amiga-library" (check-in: [a151c9797b] user: js, branch: amiga-library, size: 18501) [annotate] [blame] [check-ins using] [diff]
23:04
[8379d699e4] part of check-in [18caed047e] Use OFLog() for OFEnsure() (check-in: [18caed047e] user: js, branch: trunk, size: 18381) [annotate] [blame] [check-ins using] [diff]
2022-11-06
19:16
[f1f0c6d274] part of check-in [82bc531357] Merge trunk into branch "amiga-library" (check-in: [82bc531357] user: js, branch: amiga-library, size: 18453) [annotate] [blame] [check-ins using] [diff]
2022-11-05
18:38
[4ca2ebbb7b] part of check-in [a0c049d8f1] More consistency in how pragmas are used (check-in: [a0c049d8f1] user: js, branch: trunk, size: 18333) [annotate] [blame] [check-ins using] [diff]
2022-10-18
22:17
[2d8d92328b] part of check-in [ac19ed9d40] Merge trunk into branch "amiga-library" (check-in: [ac19ed9d40] user: js, branch: amiga-library, size: 18424) [annotate] [blame] [check-ins using] [diff]
2022-06-06
07:06
[60a41b82a1] part of check-in [e53c0160a8] Always implement dummy for OF_UNAVAILABLE methods

GCC now supports the attribute, but still complains if the method is not
implemented, so always implement it with a method that throws. (check-in: [e53c0160a8] user: js, branch: trunk, size: 18304) [annotate] [blame] [check-ins using] [diff]

2022-02-12
07:46
[5676813928] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 18333) [annotate] [blame] [check-ins using] [diff]
2021-12-07
19:01
[adb87dd5b5] part of check-in [de72eaa6ea] Use UINT*_C for swap macros (check-in: [de72eaa6ea] user: js, branch: trunk, size: 18333) [annotate] [blame] [check-ins using] [diff]
2021-05-09
14:45
[e163f96b10] part of check-in [3c88df0ce4] Merge trunk into branch "amiga-library"

All necessary changes to adjust for the changes made in trunk are
included in the merge commit. (check-in: [3c88df0ce4] user: js, branch: amiga-library, size: 18267) [annotate] [blame] [check-ins using] [diff]

2021-05-01
02:39
[13da37c718] part of check-in [171f3ba831] Fix compiling for AmigaOS (check-in: [171f3ba831] user: js, branch: trunk, size: 18147) [annotate] [blame] [check-ins using] [diff]
2021-04-30
21:23
[22f8070f90] part of check-in [39863b3503] Make OFHashSeed private (check-in: [39863b3503] user: js, branch: trunk, size: 18147) [annotate] [blame] [check-ins using] [diff]
2021-04-25
19:41
[3a3771fba4] part of check-in [fd51df7022] OFStrdup -> OFStrDup and slightly change behavior (check-in: [fd51df7022] user: js, branch: trunk, size: 18898) [annotate] [blame] [check-ins using] [diff]
2021-04-18
21:12
[8f5f38092b] part of check-in [b06b86d6f9] OF_RETAIN_COUNT_MAX -> OFMaxRetainCount (check-in: [b06b86d6f9] user: js, branch: new-naming-convention, size: 19137) [annotate] [blame] [check-ins using] [diff]
15:55
[6bedc85a12] part of check-in [7392685ffc] Rename all functions in macros.h (check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 19140) [annotate] [blame] [check-ins using] [diff]
13:24
[1a042f165d] part of check-in [d9f8960fc5] Rename remaining functions in OFObject.h (check-in: [d9f8960fc5] user: js, branch: new-naming-convention, size: 21201) [annotate] [blame] [check-ins using] [diff]
2021-04-17
01:24
[4a71564d16] part of check-in [83dc0fe6e5] OF_NOT_FOUND -> OFNotFound (check-in: [83dc0fe6e5] user: js, branch: new-naming-convention, size: 21211) [annotate] [blame] [check-ins using] [diff]
00:31
[805464ce2e] part of check-in [1046d10a20] of_byte_order_t -> OFByteOrder (check-in: [1046d10a20] user: js, branch: new-naming-convention, size: 21241) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:06
[9c93ab715b] part of check-in [27b401c7c2] Update copyright (check-in: [27b401c7c2] user: js, branch: amiga-library, size: 21519) [annotate] [blame] [check-ins using] [diff]
22:04
[77087818b9] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 21389) [annotate] [blame] [check-ins using] [diff]
2020-12-22
21:42
[2f38259464] part of check-in [a58aa8e069] Merge trunk into branch "amiga-library" (check-in: [a58aa8e069] user: js, branch: amiga-library, size: 21608) [annotate] [blame] [check-ins using] [diff]
2020-12-21
19:42
[c797af37de] part of check-in [abe75c42dc] Make objc_error() more generic (check-in: [abe75c42dc] user: js, branch: trunk, size: 21478) [annotate] [blame] [check-ins using] [diff]
2020-12-20
11:30
[56e1068319] part of check-in [1ff8c1e62d] Merge trunk into branch "amiga-library" (check-in: [1ff8c1e62d] user: js, branch: amiga-library, size: 21476) [annotate] [blame] [check-ins using] [diff]
03:06
[42109558ee] part of check-in [8f271bed22] Let OF_ENSURE use OBJC_ERROR in runtime (check-in: [8f271bed22] user: js, branch: trunk, size: 21346) [annotate] [blame] [check-ins using] [diff]
2020-12-18
11:04
[d7e143910e] part of check-in [3fdb99cfd0] Merge trunk into branch "amiga-library" (check-in: [3fdb99cfd0] user: js, branch: amiga-library, size: 21267) [annotate] [blame] [check-ins using] [diff]
2020-12-12
22:31
[365b468ef6] part of check-in [c859e2230c] Remove OF_*_ASM defines

Duplicating defines for every CPU architecture is not very useful. (check-in: [c859e2230c] user: js, branch: trunk, size: 21137) [annotate] [blame] [check-ins using] [diff]

21:25
[9f0be8e20b] part of check-in [1712033509] Pass errno to Amiga library (check-in: [1712033509] user: js, branch: amiga-library, size: 21693) [annotate] [blame] [check-ins using] [diff]
2020-11-29
00:59
[7383bf6570] part of check-in [b46492384a] of_bitset_*: Use CHAR_BIT instead of 8 (check-in: [b46492384a] user: js, branch: trunk, size: 21563) [annotate] [blame] [check-ins using] [diff]
2020-10-10
14:27
[43e7dc4d8f] part of check-in [aeb403a1ed] OFObject: Change type of -[hash] to unsigned long

The internal hash is still 32 bit in most places, but this way, it is at
least not baked into the API and ABI and can be upgraded later, should
that ever be necessary. (check-in: [aeb403a1ed] user: js, branch: trunk, size: 21501) [annotate] [blame] [check-ins using] [diff]

2020-09-29
21:36
[76df5e8f5b] part of check-in [b4039f9a85] Merge support for tagged pointers (check-in: [b4039f9a85] user: js, branch: trunk, size: 21492) [annotate] [blame] [check-ins using] [diff]
2020-09-26
21:58
[0f3365fd01] part of check-in [ef614a225d] Don't require __COUNTER__ for OF_RESERVE_IVARS

__COUNTER__ does not exist in GCC 4.2, and Apple GCC 4.2 is still the
newest compiler available for macOS 10.5. (check-in: [ef614a225d] user: js, branch: trunk, size: 21485) [annotate] [blame] [check-ins using] [diff]

2020-07-25
18:32
[98097ba1eb] part of check-in [94c7e3e8f3] OFDate: Also ignore -Wunknown-pragmas

This makes old versions of Clang happy which don't know about
-Wobjc-designated-initializers. (check-in: [94c7e3e8f3] user: js, branch: tagged-pointers, size: 21490) [annotate] [blame] [check-ins using] [diff]

2020-07-12
09:49
[41e131467f] part of check-in [c1fe4b2b77] Make of_random() a function

When arc4random() is unavailable, either random() or rand() is used and
both need to be seeded. If of_random() is a macro, it needs to be
(re)seeded every time, as it's unknown whether it has already been
seeded. As it is seeded with gettimeofday() due to the lack of a better
initial seed, this means every call returns the first state for the
current time, which is very predictable. random() and rand() are both
not cryptographic, but this should at least make it a little bit better
now. (check-in: [c1fe4b2b77] user: js, branch: trunk, size: 21483) [annotate] [blame] [check-ins using] [diff]

2020-07-05
10:25
[975aa82042] part of check-in [0c8a6fdf2a] Add forwardingTargetForSelector: for SPARC/ELF (check-in: [0c8a6fdf2a] user: js, branch: trunk, size: 22023) [annotate] [blame] [check-ins using] [diff]
2020-06-28
15:19
[3627a6abf3] part of check-in [96b35d19c5] Only use objc_direct(_members) with Apple runtime

This first needs to be enabled in Clang for the ObjFW runtime. (check-in: [96b35d19c5] user: js, branch: trunk, size: 22002) [annotate] [blame] [check-ins using] [diff]

2020-06-25
21:51
[f608bdd307] part of check-in [f9236a1d6c] Add OF_DIRECT and OF_DIRECT_MEMBERS (check-in: [f9236a1d6c] user: js, branch: trunk, size: 21944) [annotate] [blame] [check-ins using] [diff]
2020-06-05
00:17
[af30b6d7a6] part of check-in [964b5ed33c] Add of_init() for Amiga .library (check-in: [964b5ed33c] user: js, branch: amiga-library, size: 21998) [annotate] [blame] [check-ins using] [diff]
2020-06-04
23:01
[f9a566d40b] part of check-in [f6ab72da6e] Add initial amiga-{library,glue,end}.m

These are based on runtime/amiga-{library,glue,end}.m. (check-in: [f6ab72da6e] user: js, branch: amiga-library, size: 21962) [annotate] [blame] [check-ins using] [diff]

2020-04-21
19:51
[b900515d8a] part of check-in [d57a77b9cd] Fix AmigaOS and devkitPro build (check-in: [d57a77b9cd] user: js, branch: trunk, size: 21669) [annotate] [blame] [check-ins using] [diff]
2020-04-19
14:52
[0ec579f5ac] part of check-in [e0459c419c] Reduce usage of unions (check-in: [e0459c419c] user: js, branch: trunk, size: 21657) [annotate] [blame] [check-ins using] [diff]
2020-04-11
19:31
[798f22e9e5] part of check-in [6e7e19252b] Make OFObject.h and OFString.h C-safe (check-in: [6e7e19252b] user: js, branch: trunk, size: 21257) [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
[9bed6604d9] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 21197) [annotate] [blame] [check-ins using] [diff]
2019-09-29
19:35
[fff954ce5f] part of check-in [496695d778] Either restrict subclassing or reserve ivar space

This allows ABI stability with the fragile ABI. (check-in: [496695d778] user: js, branch: trunk, size: 21194) [annotate] [blame] [check-ins using] [diff]

2019-09-01
15:20
[6430489c6f] part of check-in [b7badc68a0] Use u suffix on a few constants (check-in: [b7badc68a0] user: js, branch: trunk, size: 20872) [annotate] [blame] [check-ins using] [diff]
2019-06-17
00:38
[e1abebe584] part of check-in [79fe29dbf4] Remove underscores from library & framework names

This is more compatible with the various conventions used on various
systems. (check-in: [79fe29dbf4] user: js, branch: trunk, size: 20869) [annotate] [blame] [check-ins using] [diff]

2019-04-22
16:53
[989f46865e] part of check-in [0b962df002] OFString_UTF8: Improved range checks (check-in: [0b962df002] user: js, branch: trunk, size: 20872) [annotate] [blame] [check-ins using] [diff]
2019-02-07
21:31
[6558af17e7] part of check-in [754bf24742] More style improvements (check-in: [754bf24742] user: js, branch: trunk, size: 20868) [annotate] [blame] [check-ins using] [diff]
2019-01-27
16:20
[ac7aa6dc5d] part of check-in [d0f3116147] Work around buggy thread_local on AIX (check-in: [d0f3116147] user: js, branch: trunk, size: 20859) [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
[17a538a6f0] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 20703) [annotate] [blame] [check-ins using] [diff]
2018-07-29
16:16
[422632f048] part of check-in [9383a4cf4a] macros.h: Fix a typo (check-in: [9383a4cf4a] user: js, branch: trunk, size: 20697) [annotate] [blame] [check-ins using] [diff]
2018-07-28
17:46
[cec5f5d20d] part of check-in [d0b636d965] macros.h: Fix missing ) and #include (check-in: [d0b636d965] user: js, branch: trunk, size: 20695) [annotate] [blame] [check-ins using] [diff]
16:48
[3f9a87cf9e] part of check-in [a2a06d372a] macros.h: Add of_random()

This does *NOT* provide cryptographically secure randomness! (check-in: [a2a06d372a] user: js, branch: trunk, size: 20670) [annotate] [blame] [check-ins using] [diff]

2018-03-11
12:55
[9420a38fbf] part of check-in [156b850131] Remove OF_PATH_* macros

These were way too simplistic, as paths differ in more than just that on
various operating systems. (check-in: [156b850131] user: js, branch: trunk, size: 20135) [annotate] [blame] [check-ins using] [diff]

2018-02-16
23:58
[0a54ffbbce] part of check-in [b34c78251b] Add of_ascii_isdigit() (check-in: [b34c78251b] user: js, branch: trunk, size: 20552) [annotate] [blame] [check-ins using] [diff]
2018-02-11
12:15
[579cf46e72] part of check-in [612cd94090] Make OFNumber a subclass of OFValue (check-in: [612cd94090] user: js, branch: trunk, size: 20471) [annotate] [blame] [check-ins using] [diff]
2018-01-21
22:16
[6b06f3d8b7] part of check-in [0f42b0eafd] Allow building the runtime as a .framework

This also renames ObjFW-RT to ObjFW_RT, as hyphens should not be in
framework names. (check-in: [0f42b0eafd] user: js, branch: trunk, size: 20442) [annotate] [blame] [check-ins using] [diff]

02:20
[eade3d2bc3] part of check-in [88b19eae2c] Allow boxing of most structs (check-in: [88b19eae2c] user: js, branch: trunk, size: 20442) [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
[3d82ab1985] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 20316) [annotate] [blame] [check-ins using] [diff]
2017-12-23
18:21
[0b9271918b] part of check-in [d654e38e7e] Disable compiler TLS on iOS 9 simulator (check-in: [d654e38e7e] user: js, branch: trunk, size: 20293) [annotate] [blame] [check-ins using] [diff]
2017-11-13
23:06
[63c7ed2d2c] part of check-in [1d41fff819] macros.h: Reduce OF_INVALID_INIT_METHOD code size (check-in: [1d41fff819] user: js, branch: trunk, size: 20050) [annotate] [blame] [check-ins using] [diff]
22:19
[58ba402fca] part of check-in [f12043ee28] Only use OF_WARN_UNUSED_RESULT with Clang

GCC does not support it. (check-in: [f12043ee28] user: js, branch: trunk, size: 20087) [annotate] [blame] [check-ins using] [diff]

2017-11-05
18:01
[4089255adf] part of check-in [7c30d6a2e2] Add OFCharacterSet (check-in: [7c30d6a2e2] user: js, branch: trunk, size: 20056) [annotate] [blame] [check-ins using] [diff]
02:58
[66bafa72fb] part of check-in [7c79db860d] Add OF_WARN_UNUSED_RESULT (check-in: [7c79db860d] user: js, branch: trunk, size: 20038) [annotate] [blame] [check-ins using] [diff]
2017-10-30
00:23
[059976bd73] part of check-in [a2e849c681] Add class properties where appropriate

This improves Swift compatibility. (check-in: [a2e849c681] user: js, branch: trunk, size: 19936) [annotate] [blame] [check-ins using] [diff]

2017-10-29
22:22
[4bf3aa81bc] part of check-in [68b3d08ac1] macros.h: Add OF_SWIFT_NAME (check-in: [68b3d08ac1] user: js, branch: trunk, size: 19855) [annotate] [blame] [check-ins using] [diff]
00:41
[40aa2d8e24] part of check-in [b83d1414b1] Fix conversion between URL and path on Win32

This also adds -[OFURL fileSystemRepresentation] to correctly convert a
URL back to a path in the local file system. (check-in: [b83d1414b1] user: js, branch: trunk, size: 19709) [annotate] [blame] [check-ins using] [diff]

2017-10-22
15:05
[298ad747ab] part of check-in [a06354b42a] Make Apple GCC with -Wshadow happy (check-in: [a06354b42a] user: js, branch: trunk, size: 19674) [annotate] [blame] [check-ins using] [diff]
14:09
[ed1d1a5d46] part of check-in [31c0f5b89e] Make Apple GCC with -Wshadow happy (check-in: [31c0f5b89e] user: js, branch: 0.90, size: 16524) [annotate] [blame] [check-ins using] [diff]
2017-10-15
23:05
[15e6f8eafc] part of check-in [4465a415f1] Two minor cleanups - no functional change (check-in: [4465a415f1] user: js, branch: trunk, size: 19692) [annotate] [blame] [check-ins using] [diff]
22:51
[62a0be4bea] part of check-in [d6fa7f9bf6] Rename __GCC_VERSION__ to OF_GCC_VERSION

__GCC_VERSION__ is reserved and could be used by GCC in the future. (check-in: [d6fa7f9bf6] user: js, branch: 0.90, size: 16542) [annotate] [blame] [check-ins using] [diff]

22:49
[52d18b1a04] part of check-in [60214356c2] Rename __GCC_VERSION__ to OF_GCC_VERSION

__GCC_VERSION__ is reserved and could be used by GCC in the future. (check-in: [60214356c2] user: js, branch: trunk, size: 19871) [annotate] [blame] [check-ins using] [diff]

2017-10-01
14:14
[aa4d0729bb] part of check-in [f37b373a95] Backport nullability fixes from master (check-in: [f37b373a95] user: js, branch: 0.90, size: 16546) [annotate] [blame] [check-ins using] [diff]
2017-09-28
23:02
[ffa2588354] part of check-in [2de9660312] Enable -Wnullable-to-nonnull-conversion and adjust (check-in: [2de9660312] user: js, branch: trunk, size: 19875) [annotate] [blame] [check-ins using] [diff]
2017-09-11
16:17
[7f6db52639] part of check-in [48f514d397] Add missing OF_ITANIUM_ASM define (check-in: [48f514d397] user: js, branch: trunk, size: 19641) [annotate] [blame] [check-ins using] [diff]
2017-09-10
20:39
[ecbe0f344d] part of check-in [b03cff2f49] Add of_{sizeof,alignof}_type_encoding() (check-in: [b03cff2f49] user: js, branch: trunk, size: 19589) [annotate] [blame] [check-ins using] [diff]
2017-08-22
20:08
[cd2ed094ac] part of check-in [68b27968f7] Add OF_PA_RISC and OF_PA_RISC_ASM defines (check-in: [68b27968f7] user: js, branch: trunk, size: 19499) [annotate] [blame] [check-ins using] [diff]
2017-08-19
22:47
[dd08d3d070] part of check-in [38813c380c] Add forwardingTargetForSelector: for SPARC64/ELF (check-in: [38813c380c] user: js, branch: trunk, size: 19447) [annotate] [blame] [check-ins using] [diff]
2017-08-13
13:48
[b2dbaa72d1] part of check-in [6202189a07] Add functions to read & write BE/LE value pointers (check-in: [6202189a07] user: js, branch: trunk, size: 19424) [annotate] [blame] [check-ins using] [diff]
2017-07-09
15:29
[8a33280748] part of check-in [5bb771755d] runtime: Rename include to ObjFW-RT.h (check-in: [5bb771755d] user: js, branch: trunk, size: 16492) [annotate] [blame] [check-ins using] [diff]
2017-06-10
11:46
[4e6153e065] part of check-in [dbdc125802] macros.h: Add of_ascii_isspace() (check-in: [dbdc125802] user: js, branch: trunk, size: 16416) [annotate] [blame] [check-ins using] [diff]
2017-05-29
21:55
[1a378051a0] part of check-in [c2a2107f79] macros.h: Add OF_ALIGNAS (check-in: [c2a2107f79] user: js, branch: trunk, size: 16274) [annotate] [blame] [check-ins using] [diff]
2017-05-14
01:30
[92a3d178cb] part of check-in [03963d9304] macros.h: Add null_unspecified (check-in: [03963d9304] user: js, branch: trunk, size: 16118) [annotate] [blame] [check-ins using] [diff]
2017-05-13
16:56
[45a38ec43d] part of check-in [4df6ab6bca] Fix compilation with GCC (check-in: [4df6ab6bca] user: js, branch: trunk, size: 16092) [annotate] [blame] [check-ins using] [diff]
2017-05-08
21:37
[9127ca3dee] part of check-in [469a496cd2] Add OF_DESIGNATED_INITIALIZER & OF_METHOD_FAMILY (check-in: [469a496cd2] user: js, branch: trunk, size: 16041) [annotate] [blame] [check-ins using] [diff]
2017-05-07
23:14
[bccd9112c7] part of check-in [16c05e87e1] Add OF_UNAVAILABLE (check-in: [16c05e87e1] user: js, branch: trunk, size: 15690) [annotate] [blame] [check-ins using] [diff]
20:10
[4c5e15ca2a] part of check-in [4af49a13c3] Small code style change

Casts are now written like types in variable declarations. (check-in: [4af49a13c3] user: js, branch: trunk, size: 15609) [annotate] [blame] [check-ins using] [diff]

2017-05-01
18:48
[acbe9b9b4a] part of check-in [3faceccdd3] Add OF_NULL_RESETTABLE_PROPERTY (check-in: [3faceccdd3] user: js, branch: trunk, size: 15605) [annotate] [blame] [check-ins using] [diff]
2017-04-14
23:27
[c14ef81c9f] part of check-in [544663e733] Fix using OF_{CON,DE}STRUCTOR multiple times (check-in: [544663e733] user: js, branch: trunk, size: 15495) [annotate] [blame] [check-ins using] [diff]
2017-04-02
02:02
[b2cfcb1101] part of check-in [126632e200] Add OF_WEAK_REF() (check-in: [126632e200] user: js, branch: trunk, size: 15337) [annotate] [blame] [check-ins using] [diff]
01:06
[35fb899dee] part of check-in [d07c56a8bb] Add OF_CONSTRUCTOR() / OF_DESTRUCTOR() (check-in: [d07c56a8bb] user: js, branch: trunk, size: 15251) [annotate] [blame] [check-ins using] [diff]
2017-03-20
22:50
[db7b5a88fe] part of check-in [1ff91c7491] of_explicit_memset(): Add explicit cast for C++ (check-in: [1ff91c7491] user: js, branch: trunk, size: 15017) [annotate] [blame] [check-ins using] [diff]
2017-01-09
17:36
[7f5d9116f6] part of check-in [44f45c2e35] Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. (check-in: [44f45c2e35] user: js, branch: trunk, size: 14992) [annotate] [blame] [check-ins using] [diff]

2017-01-08
20:14
[e92edaa214] part of check-in [f57765b5c6] Clean up the dllexport mess a little

For many of those, it's not actually required to declare them dllexport.
Declaring them at all is enough to prevent Clang from using its implicit
declaration that is dllimport. (check-in: [f57765b5c6] user: js, branch: trunk, size: 14986) [annotate] [blame] [check-ins using] [diff]

2017-01-07
00:37
[49ab80b017] part of check-in [d9eb7b50b3] Add of_ascii_{to{upper,lower},is{alpha,alnum}}

These are independent of the locale and work on the ASCII character set.

Unlike the C ones, these are 8-bit safe, meaning if a character > 0x7F
is passed, is{alpha,alnum} returns false and to{upper,lower} returns the
original character. (check-in: [d9eb7b50b3] user: js, branch: trunk, size: 15181) [annotate] [blame] [check-ins using] [diff]

2016-10-08
15:57
[63bde433c3] part of check-in [dcff33c798] Implement scrypt (check-in: [dcff33c798] user: js, branch: trunk, size: 14748) [annotate] [blame] [check-ins using] [diff]
2016-09-12
00:27
[54a3501810] part of check-in [13f4c6c678] Add OF_DEALLOC_UNSUPPORTED macro (check-in: [13f4c6c678] user: js, branch: trunk, size: 14537) [annotate] [blame] [check-ins using] [diff]
2016-07-03
12:19
[a0cafa1d2d] part of check-in [d9c9a3d0bc] Add forwardingTargetForSelector: for x86_64/Mach-O

This is for the ObjFW runtime - for the Apple runtime, this did already
exist. (check-in: [d9c9a3d0bc] user: js, branch: trunk, size: 14052) [annotate] [blame] [check-ins using] [diff]

2016-06-06
20:57
[e0ab1242a0] part of check-in [a2a47a8757] macros.h: Define OF_MIPS64_ASM on MIPS64 (check-in: [a2a47a8757] user: js, branch: trunk, size: 13839) [annotate] [blame] [check-ins using] [diff]
20:56
[e1b8fc06c1] part of check-in [29d691e834] Make OF_INVALID_INIT_METHOD compatible with ARC (check-in: [29d691e834] user: js, branch: trunk, size: 13789) [annotate] [blame] [check-ins using] [diff]
2016-03-28
23:43
[96b0f326a5] part of check-in [543eb96c02] Style consistency changes

Multiline preprocessor directives now always indent the continued lines
by 4 spaces. The only exception are defines that define to code blocks:
Those are still indented by a tab in order to align with the rest of the
code. (check-in: [543eb96c02] user: js, branch: trunk, size: 13651) [annotate] [blame] [check-ins using] [diff]

2016-03-20
10:55
[c42b7644a0] part of check-in [ea5a19118a] undef __{unsafe_unretained,bridge,autoreleasing}

Newer versions of Clang have these as built-in defines, even when ARC is
disabled. (check-in: [ea5a19118a] user: js, branch: 0.8, size: 15108) [annotate] [blame] [check-ins using] [diff]

10:53
[207b43dc6a] part of check-in [826c9570d3] macros.h: Adjust a comment

This was not limited to Android, but also happens with newer versions of
Clang on all platforms. (check-in: [826c9570d3] user: js, branch: trunk, size: 13613) [annotate] [blame] [check-ins using] [diff]

2016-01-20
00:19
[f5907cb050] part of check-in [7e6bad326c] Add forwardingTargetForSelector: for ARM64/ELF

This has only been tested on Android so far. (check-in: [7e6bad326c] user: js, branch: trunk, size: 13683) [annotate] [blame] [check-ins using] [diff]

2016-01-05
17:11
[9f039167db] part of check-in [3d11f9ee8f] undef __{unsafe_unretained,bridge,autoreleasing}

It seems Clang has these as built-in defines when cross-compiling for
Android, even when ARC is disabled. (check-in: [3d11f9ee8f] user: js, branch: trunk, size: 13659) [annotate] [blame] [check-ins using] [diff]

2016-01-03
00:43
[e7b0f05f6d] part of check-in [cec0f072f8] Update copyright

While at it, also update the mail address. (check-in: [cec0f072f8] user: js, branch: 0.8, size: 14928) [annotate] [blame] [check-ins using] [diff]

00:41
[3aac42d28b] part of check-in [2a27cf3000] Update copyright

While at it, also update the mail address. (check-in: [2a27cf3000] user: js, branch: trunk, size: 13409) [annotate] [blame] [check-ins using] [diff]

2015-11-29
14:26
[bcbd739063] part of check-in [be8db49635] Remove defines we no longer need

Now that we require GCC >= 4.6, those features are always available. (check-in: [be8db49635] user: js, branch: trunk, size: 13405) [annotate] [blame] [check-ins using] [diff]

11:43
[d6041f701d] part of check-in [48980f2297] Make properties a requirement and clean up code

This increases the required GCC version from 4.0 to 4.6 (exception:
Apple GCC, which already supports this with >= 4.0 starting with OS X
10.5). Since even GCC 4.6 is really old by now, there is no point in
still supporting something even older and making the code ugly because
of that. While some hardware and OS support was dropped from GCC 4.6
compared to GCC 4.0, there is nothing in there that would be an
interesting target with the exception of BeOS maybe - but a port to BeOS
can also be achieved using the Haiku support. The other dropped OSes are
mostly old versions of OSes while newer ones are still being supported
(and those newer versions of those OSes still support the same
hardware). (check-in: [48980f2297] user: js, branch: trunk, size: 13786) [annotate] [blame] [check-ins using] [diff]

2015-11-21
18:35
[9c39f051f0] part of check-in [d526d938d7] Remove OF_NULLABLE / OF_NONNULL

Now that Clang switched to use _Nullable and _Nonnull instead of
__nullable / __nonnull, there is no longer a conflict with glibc, which
means we can just define _Nullable / _Nonnull to nothing if they are not
understood by the compiler (which did not work with __nullable /
__nonnull due to this conflict).

This also defines _Null_unspecified to nothing if unavailable. (check-in: [d526d938d7] user: js, branch: trunk, size: 14074) [annotate] [blame] [check-ins using] [diff]

2015-10-19
22:15
[2ef46745a0] part of check-in [1ba08eebc5] Add platform.h & make platform defines consistent (check-in: [1ba08eebc5] user: js, branch: trunk, size: 14111) [annotate] [blame] [check-ins using] [diff]
2015-10-17
22:50
[57b5109a4c] part of check-in [7399e9b249] Add +[OFSystemInfo supportsMXU] (check-in: [7399e9b249] user: js, branch: trunk, size: 15428) [annotate] [blame] [check-ins using] [diff]
15:06
[c4da03627b] part of check-in [2e73c5fb65] Fix a missing include (check-in: [2e73c5fb65] user: js, branch: trunk, size: 15304) [annotate] [blame] [check-ins using] [diff]
10:59
[a7d0bdefbc] part of check-in [ed4549ddd3] Add a port registry for the Wii

This is necessary as the Wii does not allow picking a random free port,
and thus we need to track which ports are used. (check-in: [ed4549ddd3] user: js, branch: trunk, size: 15283) [annotate] [blame] [check-ins using] [diff]

2015-10-01
20:34
[a5359bc24a] part of check-in [2fb22c605b] Use _Nullable instead of __nullable

Same for _Nonnull / __nonnull.

Apple implemented it as __nullable / __nonnull in their version of Clang
and sent that for upstreaming. My inital comments about this being a
potential problem and to better use _Nullable / _Nonnull had been
rejected as being too late, so I assumed it stayed that way. But
apparently, it has been changed to _Nullable / _Nonnull before the 3.7.0
release. (check-in: [2fb22c605b] user: js, branch: trunk, size: 14924) [annotate] [blame] [check-ins using] [diff]

2015-06-28
16:28
[1619f8ecc0] part of check-in [5116342c0a] Add OF_SUBCLASSING_RESTRICTED (check-in: [5116342c0a] user: js, branch: trunk, size: 14926) [annotate] [blame] [check-ins using] [diff]
2015-06-17
22:11
[67aef400e2] part of check-in [80e1a9655b] Add OF_NULLABLE_PROPERTY

This is necessary to make GCC (>= 4.6 and Apple GCC) happy as they don't
like the list of property attributes ending in a comma. (check-in: [80e1a9655b] user: js, branch: trunk, size: 14737) [annotate] [blame] [check-ins using] [diff]

2015-06-14
10:45
[6f2726fb11] part of check-in [b7097a67b6] Add OF_NONNULL / OF_NULLABLE and use that instead

Using __nonnull directly doesn't work on systems using glibc, as glibc
defines __nonnull as a parameterized define. While this does not fix the
problem of Clang introducing __nonnull even though it conflicts with
glibc, this at least means it's possible again to compile things with
versions of Clang that don't support __nonnull on systems with glibc. (check-in: [b7097a67b6] user: js, branch: trunk, size: 14648) [annotate] [blame] [check-ins using] [diff]

2015-06-13
22:26
[6ce9a1b05b] part of check-in [9e76144ef8] Add support for and use the new nullability (check-in: [9e76144ef8] user: js, branch: trunk, size: 14584) [annotate] [blame] [check-ins using] [diff]
01:02
[73c4a25692] part of check-in [320d776ded] Add OF_KINDOF (check-in: [320d776ded] user: js, branch: trunk, size: 14263) [annotate] [blame] [check-ins using] [diff]
2015-06-12
23:59
[602c2a02eb] part of check-in [5329fe7c1a] Add support for and use the new ObjC generics (check-in: [5329fe7c1a] user: js, branch: trunk, size: 14154) [annotate] [blame] [check-ins using] [diff]
2015-05-02
23:52
[f975939415] part of check-in [e1b2c4bb1e] OF_ENSURE: Wrap in do / while (0) (check-in: [e1b2c4bb1e] user: js, branch: trunk, size: 14017) [annotate] [blame] [check-ins using] [diff]
2015-03-30
21:33
[d141131552] part of check-in [ffb39d1df6] Add OF_NO_RETURN_FUNC

OF_NO_RETURN_FUNC is defined when __attribute__((__noreturn__)) is
supported for functions, whereas OF_NO_RETURN is only defined when it is
supported for both functions and methods. (check-in: [ffb39d1df6] user: js, branch: trunk, size: 13962) [annotate] [blame] [check-ins using] [diff]

2015-02-01
00:47
[620c867f01] part of check-in [e0c84651d6] Reduce code size for OF_UNRECOGNIZED_SELECTOR (check-in: [e0c84651d6] user: js, branch: trunk, size: 13878) [annotate] [blame] [check-ins using] [diff]
2015-01-29
21:25
[e67b80b7e5] part of check-in [ee4b0920da] OF_RO[LR]: Correctly handle bits % sizeof * 8 == 0 (check-in: [ee4b0920da] user: js, branch: trunk, size: 13906) [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
[28504c42f6] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 13794) [annotate] [blame] [check-ins using] [diff]
2014-07-19
09:55
[d03270f705] part of check-in [716b1fc2b3] Don't use C11's noreturn

It causes just too much trouble: It breaks with some old versions of
Clang, where noreturn does not work correctly, and OS X headers break if
noreturn is defined, requiring an ugly and fragile workaround. It's just
not worth the trouble it causes, as the same functionality is available
through __attribute__((__noreturn__)). (check-in: [716b1fc2b3] user: js, branch: trunk, size: 13788) [annotate] [blame] [check-ins using] [diff]

2014-06-21
21:43
[605fc19a18] part of check-in [13ee56edf3] Move all macros from OFObject.h to macros.h

This means that OFObject.h imports macros.h now, making it unnecessary
to manually import macros.h in almost every file. And while at it, also
import autorelease.h in OFObject.h, so that this doesn't need to be
manually imported in almost every file as well. (check-in: [13ee56edf3] user: js, branch: trunk, size: 14324) [annotate] [blame] [check-ins using] [diff]

2014-05-14
20:28
[d84414160a] part of check-in [e35b10115e] Always use __foo__ instead of foo for attributes (check-in: [e35b10115e] user: js, branch: trunk, size: 10588) [annotate] [blame] [check-ins using] [diff]
2014-05-06
21:38
[4a0014aee6] part of check-in [cbff518f16] Add a few OF_CONST_FUNC (check-in: [cbff518f16] user: js, branch: trunk, size: 10580) [annotate] [blame] [check-ins using] [diff]
2014-05-05
02:43
[c9c04d682a] part of check-in [b885b6fdfa] Add OF_NO_RETURN and OF_UNREACHABLE (check-in: [b885b6fdfa] user: js, branch: trunk, size: 10523) [annotate] [blame] [check-ins using] [diff]
02:13
[8621e81b30] part of check-in [2729104cf6] Check for and use __builtin_bswap{16,32,64} (check-in: [2729104cf6] user: js, branch: trunk, size: 10372) [annotate] [blame] [check-ins using] [diff]
2014-03-19
18:05
[9ad949e286] part of check-in [61369b9d26] macros.h: Never define static_assert to assert

static_asserts can be used in places where asserts won't work and take
two parameters, while asserts only take one. (check-in: [61369b9d26] user: js, branch: trunk, size: 10165) [annotate] [blame] [check-ins using] [diff]

2014-03-05
01:36
[76ff6117a8] part of check-in [ae9f0dc0e0] Add OF_ROUND_UP_POW2 macro (check-in: [ae9f0dc0e0] user: js, branch: trunk, size: 10208) [annotate] [blame] [check-ins using] [diff]
2014-02-22
01:14
[e55751e201] part of check-in [05f4b0a4f0] Rename AMD64 to x86_64 (check-in: [05f4b0a4f0] user: js, branch: trunk, size: 10128) [annotate] [blame] [check-ins using] [diff]
2014-02-21
01:03
[0fd9e55556] part of check-in [33676cd3a9] of_strdup: Add explicit cast for C++ compatibility (check-in: [33676cd3a9] user: js, branch: trunk, size: 10124) [annotate] [blame] [check-ins using] [diff]
2014-02-18
15:07
[05f8092242] part of check-in [efcf24c8ba] macros.h: Add OF_ARM64_ASM define (check-in: [efcf24c8ba] user: js, branch: trunk, size: 10117) [annotate] [blame] [check-ins using] [diff]
2014-02-13
23:26
[3858acab50] part of check-in [2f5af58573] Use -std=c11 instead of -std=gnu11

Not using -std=gnu11 means _GNU_SOURCE does not get defined anymore,
therefore this commit also adds the required feature defines for glibc.

Additionally, this adds of_strdup in macros.h, as strdup is an
extension. (check-in: [2f5af58573] user: js, branch: trunk, size: 10044) [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
[f7dad7806c] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 9811) [annotate] [blame] [check-ins using] [diff]
2013-12-07
17:30
[d51c5fe23d] part of check-in [fdfb2be253] macros.h: Add OF_BIGGEST_ALIGNMENT.

When the compiler supports C11, _Alignof(max_align_t) is used; otherwise
the __BIGGEST_ALIGNMENT__ define is tried with a fallback to 16. (check-in: [fdfb2be253] user: js, branch: trunk, size: 9805) [annotate] [blame] [check-ins using] [diff]

16:56
[4fb27cba60] part of check-in [71ebf4e8fe] macros.h: Make sure static_assert is defined. (check-in: [71ebf4e8fe] user: js, branch: trunk, size: 9612) [annotate] [blame] [check-ins using] [diff]
2013-12-05
21:26
[abc861d5c4] part of check-in [8602025532] Check for iOS in configure instead of macros.h.

The initial reason to do this in macros.h was that it would be
theoretically possible to do a universal build targeting OS X and iOS,
but in practice, they are too different as they use a different SDK,
therefore this does not make much sense. (check-in: [8602025532] user: js, branch: trunk, size: 9431) [annotate] [blame] [check-ins using] [diff]

2013-12-01
11:50
[4a09bf3501] part of check-in [00dbb47969] Clean up the path delimiter mess. (check-in: [00dbb47969] user: js, branch: trunk, size: 9642) [annotate] [blame] [check-ins using] [diff]
02:08
[dcc14d0966] part of check-in [a0b63a8df4] Port to DOS/DJGPP.

The port was much easier than expected. The only changes that were
required were defining the missing lrint() and useconds_t, the rest was
optional (like using backslashes for paths, even though slashes work
fine). (check-in: [a0b63a8df4] user: js, branch: trunk, size: 9541) [annotate] [blame] [check-ins using] [diff]

2013-11-30
19:53
[1065db52e2] part of check-in [bd2389b6b8] OFThread.m: Move #ifdefs.

The reason is that the symbol nanosleep is available now on Win32, but
is part of the pthreads wrapper, which we don't use. (check-in: [bd2389b6b8] user: js, branch: trunk, size: 9512) [annotate] [blame] [check-ins using] [diff]

2013-11-23
01:27
[9204081dd6] part of check-in [6e19bd47ee] Add OF_UNRECOGNIZED_SELECTOR. (check-in: [6e19bd47ee] user: js, branch: trunk, size: 9511) [annotate] [blame] [check-ins using] [diff]
01:12
[0bb7e4c204] part of check-in [35dafd5c57] Add OF_INVALID_INIT_METHOD. (check-in: [35dafd5c57] user: js, branch: trunk, size: 9423) [annotate] [blame] [check-ins using] [diff]
2013-08-15
19:00
[086b67ded9] part of check-in [1d7a1cbca0] Move private methods into private headers. (check-in: [1d7a1cbca0] user: js, branch: trunk, size: 9235) [annotate] [blame] [check-ins using] [diff]
2013-07-09
00:20
[1a66d76e58] part of check-in [27daad1290] Add forwardingTargetForSelector: for ARM/ELF.

Currently, no methods returning structs are supported, see the comment
in OFObject. (check-in: [27daad1290] user: js, branch: trunk, size: 9563) [annotate] [blame] [check-ins using] [diff]

2013-07-08
16:00
[4fa25a7f6a] part of check-in [b63feee32d] Add a define to indicate forwarding stret is safe. (check-in: [b63feee32d] user: js, branch: trunk, size: 9517) [annotate] [blame] [check-ins using] [diff]
15:30
[efb84c3744] part of check-in [bbabe17c4f] Check for forwarding at compile time.

Checking at configure time can potentially break universal builds. (check-in: [bbabe17c4f] user: js, branch: trunk, size: 9462) [annotate] [blame] [check-ins using] [diff]

2013-06-28
19:55
[171260d70c] part of check-in [d9bd480b94] Fix FP endianess for universal builds. (check-in: [d9bd480b94] user: js, branch: trunk, size: 9123) [annotate] [blame] [check-ins using] [diff]
2013-06-26
17:18
[b1f9e2924b] part of check-in [530decab01] Revive the PSP port. (check-in: [530decab01] user: js, branch: trunk, size: 9132) [annotate] [blame] [check-ins using] [diff]
2013-05-04
10:05
[533552d659] part of check-in [8a194de51c] OFMapTable: Minor corrections. (check-in: [8a194de51c] user: js, branch: trunk, size: 9186) [annotate] [blame] [check-ins using] [diff]
2013-02-24
10:41
[03ac2254d3] part of check-in [c4df7d61b6] Update to BinaryPack1pre2. (check-in: [c4df7d61b6] user: js, branch: trunk, size: 9170) [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
[b86826e574] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 9169) [annotate] [blame] [check-ins using] [diff]
2013-01-03
22:26
[19f9d4c0fa] part of check-in [7cebeaa808] OFMapTable: Rotate hashes randomly.

This makes the map table use the full range of the hash and not only the
least significant bits, making it harder for an attacker to find
collisions. (check-in: [7cebeaa808] user: js, branch: trunk, size: 9163) [annotate] [blame] [check-ins using] [diff]

2012-12-26
19:55
[60645bf692] part of check-in [b98fd10000] Add -[OFString stringByStandardizing(URL)Path]. (check-in: [b98fd10000] user: js, branch: trunk, size: 9010) [annotate] [blame] [check-ins using] [diff]
2012-12-06
11:00
[6b2bc955be] part of check-in [4857107479] OFMapTable: Rotate hash by a random number of bits

By rotating the hash by a random number of bits, an attacker needs to
find collisions on the full 32 bits of the hash and not only on the
lower n bits that are actually used by the map table, as an attacker
can't know which bits are actually used for the map table. (check-in: [4857107479] user: js, branch: trunk, size: 9039) [annotate] [blame] [check-ins using] [diff]

00:14
[ba733f14be] part of check-in [ac51f5f0cf] Improve -[hash] of OFNumber and OFObject. (check-in: [ac51f5f0cf] user: js, branch: trunk, size: 8886) [annotate] [blame] [check-ins using] [diff]
2012-12-04
09:19
[419a2f32d2] part of check-in [f60e4012b7] Randomize hashes.

This prevents DoSing hashtables by creating conflicts deliberately. (check-in: [f60e4012b7] user: js, branch: trunk, size: 8880) [annotate] [blame] [check-ins using] [diff]

2012-11-30
16:09
[f956fa931a] part of check-in [120caad331] Make runtime API more similar to Apple's.

This makes it easier to use runtime functions in portable code. (check-in: [120caad331] user: js, branch: trunk, size: 8869) [annotate] [blame] [check-ins using] [diff]

2012-10-13
21:06
[1ed7809f51] part of check-in [1cb8fee5c3] of_bswap* -> OF_BSWAP*.

This makes it clear that multiple evaluation of parameters is possible. (check-in: [1cb8fee5c3] user: js, branch: trunk, size: 8945) [annotate] [blame] [check-ins using] [diff]

19:30
[c89d0aa05c] part of check-in [255fd75828] of_endianess_t -> of_byte_order_t. (check-in: [255fd75828] user: js, branch: trunk, size: 9211) [annotate] [blame] [check-ins using] [diff]
2012-10-03
15:41
[037045a86a] part of check-in [7239333455] Move definition of restricted to OFObject.h. (check-in: [7239333455] user: js, branch: trunk, size: 9207) [annotate] [blame] [check-ins using] [diff]
2012-08-19
21:27
[427e7a37b9] part of check-in [a82ee4d8c7] Fix types for of_{dimension,rectangle,point}(). (check-in: [a82ee4d8c7] user: js, branch: trunk, size: 9319) [annotate] [blame] [check-ins using] [diff]
2012-07-20
23:46
[df40a393e9] part of check-in [7e7d14b815] Fix the ARM architecture detection mess. (check-in: [7e7d14b815] user: js, branch: trunk, size: 9303) [annotate] [blame] [check-ins using] [diff]
2012-07-19
01:56
[60c9e97976] part of check-in [db8a3bb7ac] Only use rev(16) when __ARM_ARCH_6__ is defined. (check-in: [db8a3bb7ac] user: js, branch: trunk, size: 8659) [annotate] [blame] [check-ins using] [diff]
2012-07-16
23:49
[f51fb05aa2] part of check-in [417b213d41] Add OF_ENSURE.

This is to be used when the condition includes a statement that needs to
be executed, as with assert, this would not be executed anymore when
NDEBUG is defined. (check-in: [417b213d41] user: js, branch: trunk, size: 8605) [annotate] [blame] [check-ins using] [diff]

22:44
[8665430981] part of check-in [ff8b2a6c29] Don't require extra parentheses for OF_(UN)LIKELY. (check-in: [ff8b2a6c29] user: js, branch: trunk, size: 8385) [annotate] [blame] [check-ins using] [diff]
2012-07-03
15:50
[cf167a3135] part of check-in [4c4fdb3429] Merge branch 'runtime'

* runtime: (76 commits)
runtime: Add exception handling.
... (check-in: [4c4fdb3429] user: js, branch: trunk, size: 8381) [annotate] [blame] [check-ins using] [diff]

2012-06-11
23:08
[18b872fc74] part of check-in [bfd8f4cfec] Add OF_PATH_PARENT_DIR. (check-in: [bfd8f4cfec] user: js, branch: trunk, size: 8762) [annotate] [blame] [check-ins using] [diff]
2012-03-23
12:04
[5266d93197] part of check-in [3719e10281] Merge branch 'master' into runtime (check-in: [3719e10281] user: js, branch: runtime, size: 8348) [annotate] [blame] [check-ins using] [diff]
2012-03-21
17:33
[ef3c33f2fd] part of check-in [d989794cc2] objc_setProperty(): Use a signed char for copy.

No more abusing a poor BOOL... (check-in: [d989794cc2] user: js, branch: trunk, size: 8729) [annotate] [blame] [check-ins using] [diff]

2012-03-17
14:26
[a584e5dfec] part of check-in [2d4a63cfcb] Move definition of __BIGGEST_ALIGNMENT__ to macros.h. (check-in: [2d4a63cfcb] user: js, branch: trunk, size: 8722) [annotate] [blame] [check-ins using] [diff]
2012-03-13
20:18
[422d3d7cb2] part of check-in [92da2a3a5b] Move objc_{set,get}Property() declarations to macros.h. (check-in: [92da2a3a5b] user: js, branch: trunk, size: 8593) [annotate] [blame] [check-ins using] [diff]
2012-03-04
19:42
[52ea94e401] part of check-in [7f0b0c9811] Remove all code for the GNU runtime. (check-in: [7f0b0c9811] user: js, branch: runtime, size: 8091) [annotate] [blame] [check-ins using] [diff]
2012-02-25
11:24
[d255a09914] part of check-in [99ed50a5e4] Always define __STDC_{CONSTANT,LIMIT}_MACROS before libc includes.
This is necessary for ObjC++.
(check-in: [99ed50a5e4] user: js, branch: 0.6, size: 8472) [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
[e095ab78b7] part of check-in [ce70e17b38] Update copyright. (check-in: [ce70e17b38] user: js, branch: trunk, size: 8607) [annotate] [blame] [check-ins using] [diff]
2011-09-17
19:18
[fee9f03105] part of check-in [f3db074478] Make hashes independant of endianess in OF{Float,Double}{Vector,Matrix}.

Also removes unnecessary OF_HASH_ADD_INT* macros (except
OF_HASH_ADD_INT32 which was often used to hash hashes and is now called
OF_HASH_ADD_HASH). (check-in: [f3db074478] user: js, branch: trunk, size: 8601) [annotate] [blame] [check-ins using] [diff]

2011-07-24
20:05
[d6db7501d8] part of check-in [c7bc7b93d9] Add a few defines for runtime methods so they always have the same name. (check-in: [c7bc7b93d9] user: js, branch: trunk, size: 9248) [annotate] [blame] [check-ins using] [diff]
2011-07-15
10:30
[7481fee224] part of check-in [77fe5572fe] Make sure restrict is always defined.

This way, we also don't need -std=gnu99 in objfw-config anymore.

Fixes ObjC++, for which -std=gnu99 is invalid and where there is no
restrict. (check-in: [77fe5572fe] user: js, branch: trunk, size: 8727) [annotate] [blame] [check-ins using] [diff]

2011-07-08
20:07
[dbe9648eca] part of check-in [7d9efc3924] Rename OF_PATH_DELIM to OF_PATH_DELIMITER. (check-in: [7d9efc3924] user: js, branch: trunk, size: 8615) [annotate] [blame] [check-ins using] [diff]
2011-06-30
20:44
[0a4450faa7] part of check-in [5af02ce36a] Don't use _NSGetEnviron or environ on iOS. (check-in: [5af02ce36a] user: js, branch: 0.5, size: 6220) [annotate] [blame] [check-ins using] [diff]
2011-06-26
00:30
[9584592c80] part of check-in [932c2eb049] Don't use _NSGetEnviron or environ on iOS. (check-in: [932c2eb049] user: js, branch: trunk, size: 8607) [annotate] [blame] [check-ins using] [diff]
2011-06-25
20:47
[763676dccc] part of check-in [4b0f1639b4] Fix a possible warning in macros.h. (check-in: [4b0f1639b4] user: js, branch: 0.5, size: 6010) [annotate] [blame] [check-ins using] [diff]
20:47
[fb95ceb8de] part of check-in [b0b3a22b9a] Fix a possible warning in macros.h. (check-in: [b0b3a22b9a] user: js, branch: trunk, size: 8397) [annotate] [blame] [check-ins using] [diff]
2011-06-15
21:38
[d83f16de45] part of check-in [674acc5082] We need OFObject.h in macros.h now for of_{point,dimension,rectangle}_t. (check-in: [674acc5082] user: js, branch: trunk, size: 8373) [annotate] [blame] [check-ins using] [diff]
2011-06-13
23:53
[5405f50b68] part of check-in [a9c38eb137] Add of_range(). (check-in: [a9c38eb137] user: js, branch: trunk, size: 8375) [annotate] [blame] [check-ins using] [diff]
23:52
[8e57c109c4] part of check-in [6f357e67bd] Add of_{point,dimension,rectangle}(). (check-in: [6f357e67bd] user: js, branch: trunk, size: 8249) [annotate] [blame] [check-ins using] [diff]
2011-06-07
14:10
[e25630d4fc] part of check-in [ff3d9a9225] Small changes to OF_SETTER/OF_GETTER. (check-in: [ff3d9a9225] user: js, branch: 0.5, size: 5986) [annotate] [blame] [check-ins using] [diff]
14:10
[3b292be428] part of check-in [9e2ea02a08] Small changes to OF_SETTER/OF_GETTER. (check-in: [9e2ea02a08] user: js, branch: trunk, size: 7818) [annotate] [blame] [check-ins using] [diff]
2011-06-06
03:19
[9c903dee26] part of check-in [4b8e8836c8] Always use unions to access a float as a uint32_t. (check-in: [4b8e8836c8] user: js, branch: trunk, size: 7812) [annotate] [blame] [check-ins using] [diff]
2011-06-05
18:07
[793bb737f0] part of check-in [2be6a03c5a] Add methods for byte swapping floats and doubles. (check-in: [2be6a03c5a] user: js, branch: trunk, size: 7768) [annotate] [blame] [check-ins using] [diff]
2011-06-04
16:02
[93351baa39] part of check-in [871fcf6e0b] Add OF_HASH_ADD_INT{16,32,64}. (check-in: [871fcf6e0b] user: js, branch: trunk, size: 7099) [annotate] [blame] [check-ins using] [diff]
2011-05-21
18:10
[d5e29a8d9f] part of check-in [e52a53d668] Better way to define OF_ENDIANESS_NATIVE. (check-in: [e52a53d668] user: js, branch: trunk, size: 6172) [annotate] [blame] [check-ins using] [diff]
18:04
[d826a851e9] part of check-in [0158f764e3] Make sure OF_ENDIANESS_NATIVE is always defined. (check-in: [0158f764e3] user: js, branch: trunk, size: 6300) [annotate] [blame] [check-ins using] [diff]
2011-05-15
17:00
[6f620278d4] part of check-in [3dad5e5803] Make it possible to specify the byte order for Unicode / UTF-16. (check-in: [3dad5e5803] user: js, branch: trunk, size: 6146) [annotate] [blame] [check-ins using] [diff]
2011-05-08
13:10
[9fafdeca9d] part of check-in [b8052b3f65] Fix a typo in OFMD5Hash.m. (check-in: [b8052b3f65] user: js, branch: trunk, size: 6028) [annotate] [blame] [check-ins using] [diff]
2011-04-23
00:11
[eef3962225] part of check-in [d8c31454b4] More style improvements. (check-in: [d8c31454b4] user: js, branch: trunk, size: 6010) [annotate] [blame] [check-ins using] [diff]
2011-03-11
13:02
[ab000dd8bb] part of check-in [2c72efb4e7] Make it easier to generate getters and setters. (check-in: [2c72efb4e7] user: js, branch: trunk, size: 5980) [annotate] [blame] [check-ins using] [diff]
2011-02-09
18:55
[957228cdfe] part of check-in [d230ac577d] Initial PSP port.

Does compile with --disable-threads --disable-shared, but does not link
yet. (check-in: [d230ac577d] user: js, branch: trunk, size: 5698) [annotate] [blame] [check-ins using] [diff]

2011-02-05
11:57
[00f7754073] part of check-in [6fe8882d64] Fix a typo. (check-in: [6fe8882d64] user: js, branch: trunk, size: 5644) [annotate] [blame] [check-ins using] [diff]
2011-02-01
21:41
[23260691a6] part of check-in [0ca438498e] Define __STDC_CONSTANT_MACROS if not defined. (check-in: [0ca438498e] user: js, branch: trunk, size: 5644) [annotate] [blame] [check-ins using] [diff]
20:53
[faed5c9c98] part of check-in [8384ca4273] Rename OF_BSWAP_* to of_bswap_* as they are not really macros. (check-in: [8384ca4273] user: js, branch: trunk, size: 5574) [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
[67131af672] part of check-in [da6b3d26cb] Change license. (check-in: [da6b3d26cb] user: js, branch: trunk, size: 5554) [annotate] [blame] [check-ins using] [diff]
2010-11-21
00:52
[0f503553d9] part of check-in [ef8b7bb44e] Use __attribute__((const)) where useful. (check-in: [ef8b7bb44e] user: js, branch: trunk, size: 5298) [annotate] [blame] [check-ins using] [diff]
2010-10-26
18:24
[c5676bbe71] part of check-in [f9316e0692] Define __STDC_LIMIT_MACROS for C++ compatibility. (check-in: [f9316e0692] user: js, branch: trunk, size: 5145) [annotate] [blame] [check-ins using] [diff]
2010-10-21
20:01
[e799d166ec] part of check-in [2552db2c1c] Make sure Jenkins' hash always interprets the byte as unsigned. (check-in: [2552db2c1c] user: js, branch: trunk, size: 5080) [annotate] [blame] [check-ins using] [diff]
2010-08-25
21:35
[d5b97d5660] part of check-in [bd2eef5fe1] Assembly implementation for atomic operations (x86 and AMD64). (check-in: [bd2eef5fe1] user: js, branch: trunk, size: 5072) [annotate] [blame] [check-ins using] [diff]
2010-04-22
09:05
[4ed7c72a5b] part of check-in [d931239e25] Add OF_PATH_DELIM to macros.h. (check-in: [d931239e25] user: js, branch: trunk, size: 4924) [annotate] [blame] [check-ins using] [diff]
2010-04-10
13:46
[fc4c29980c] part of check-in [11489e7218] Improve OF_ROL. (check-in: [11489e7218] user: js, branch: trunk, size: 4840) [annotate] [blame] [check-ins using] [diff]
13:32
[0c7fd6a945] part of check-in [c5b72902da] Prevent repeated evaluation of i in OF_BSWAP{16,32,64}_CONST. (check-in: [c5b72902da] user: js, branch: trunk, size: 4775) [annotate] [blame] [check-ins using] [diff]
2010-04-08
21:22
[92c862e4a0] part of check-in [8fa3b3b737] Extra parentheses for OF_BSWAP{16,32,64}_CONST. (check-in: [8fa3b3b737] user: js, branch: trunk, size: 4841) [annotate] [blame] [check-ins using] [diff]
2010-04-01
22:15
[869ffd926c] part of check-in [3588e29b9c] Use __asm__ instead of asm to prevent conflicts. (check-in: [3588e29b9c] user: js, branch: trunk, size: 4813) [annotate] [blame] [check-ins using] [diff]
2010-02-19
16:36
[2804045e97] part of check-in [42886185fd] Update copyright. (check-in: [42886185fd] user: js, branch: trunk, size: 4776) [annotate] [blame] [check-ins using] [diff]
2010-02-02
18:58
Added: [423a04e77c] part of check-in [832188d759] Rename OFMacros.h to macros.h, as it's not a class. (check-in: [832188d759] user: js, branch: trunk, size: 4776) [annotate] [blame] [check-ins using]