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:
|
| ︙ | ︙ |