Overview
Comment: | Get rid of warnings when using latest clang. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
36c4b260aa7938859207f50f3b29516b |
User & Date: | js on 2011-03-11 16:47:48 |
Other Links: | manifest | tags |
Context
2011-03-17
| ||
20:33 | Use Sleep(0) instead of yield() on Win32. check-in: eb827e8f21 user: js tags: trunk | |
2011-03-11
| ||
16:47 | Get rid of warnings when using latest clang. check-in: 36c4b260aa user: js tags: trunk | |
16:44 | Use a union instead of casting pointers in OF{MD5,SHA1}Hash. check-in: 1d7ed6556d user: js tags: trunk | |
Changes
Modified src/OFObject.m from [a76c510128] to [83c3cca2e3].
︙ | ︙ | |||
64 65 66 67 68 69 70 | #if !defined(OF_ATOMIC_OPS) of_spinlock_t retain_spinlock; #endif }; /* Hopefully no arch needs more than 16 bytes padding */ #define PRE_IVAR_ALIGN ((sizeof(struct pre_ivar) + 15) & ~15) | | | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | #if !defined(OF_ATOMIC_OPS) of_spinlock_t retain_spinlock; #endif }; /* Hopefully no arch needs more than 16 bytes padding */ #define PRE_IVAR_ALIGN ((sizeof(struct pre_ivar) + 15) & ~15) #define PRE_IVAR ((struct pre_ivar*)(void*)((char*)self - PRE_IVAR_ALIGN)) static struct { Class isa; } alloc_failed_exception; static Class autoreleasepool = Nil; static SEL cxx_construct = NULL; |
︙ | ︙ |
Modified src/objc_properties.m from [672a25a326] to [8ff7710d2c].
︙ | ︙ | |||
41 42 43 44 45 46 47 | return YES; } id objc_getProperty(id self, SEL _cmd, ptrdiff_t offset, BOOL atomic) { if (atomic) { | | | | | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | return YES; } id objc_getProperty(id self, SEL _cmd, ptrdiff_t offset, BOOL atomic) { if (atomic) { id *ptr = (id*)(void*)((char*)self + offset); #ifdef OF_THREADS unsigned hash = SPINLOCK_HASH(ptr); assert(of_spinlock_lock(&spinlocks[hash])); @try { return [[*ptr retain] autorelease]; } @finally { assert(of_spinlock_unlock(&spinlocks[hash])); } #else return [[*ptr retain] autorelease]; #endif } return *(id*)(void*)((char*)self + offset); } void objc_setProperty(id self, SEL _cmd, ptrdiff_t offset, id value, BOOL atomic, BOOL copy) { if (atomic) { id *ptr = (id*)(void*)((char*)self + offset); #ifdef OF_THREADS unsigned hash = SPINLOCK_HASH(ptr); assert(of_spinlock_lock(&spinlocks[hash])); @try { #endif |
︙ | ︙ | |||
101 102 103 104 105 106 107 | assert(of_spinlock_unlock(&spinlocks[hash])); } #endif return; } | | | 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | assert(of_spinlock_unlock(&spinlocks[hash])); } #endif return; } id *ptr = (id*)(void*)((char*)self + offset); id old = *ptr; switch (copy) { case 0: *ptr = [value retain]; break; case 2: |
︙ | ︙ |