Overview
Comment: | Sometimes it's hard to make GCC and Clang happy at the same time... |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | runtime |
Files: | files | file ages | folders |
SHA3-256: |
2373a7777d265093fc8be30909403155 |
User & Date: | js on 2012-03-04 20:37:42 |
Other Links: | branch diff | manifest | tags |
Context
2012-03-04
| ||
20:47 | Make OFBlock compile with the ObjFW runtime. check-in: 8002f3e823 user: js tags: runtime | |
20:37 | Sometimes it's hard to make GCC and Clang happy at the same time... check-in: 2373a7777d user: js tags: runtime | |
20:37 | Install runtime.h. check-in: 876f6cded5 user: js tags: runtime | |
Changes
Modified src/runtime/class.m from [6ae6224b73] to [283e2434aa].
︙ | ︙ | |||
78 79 80 81 82 83 84 | if (cls->superclass != Nil) dtable = objc_sparsearray_copy(cls->superclass->dtable); else dtable = objc_sparsearray_new(); for (ml = cls->methodlist; ml != NULL; ml = ml->next) for (i = 0; i < ml->count; i++) | | | | | | 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | if (cls->superclass != Nil) dtable = objc_sparsearray_copy(cls->superclass->dtable); else dtable = objc_sparsearray_new(); for (ml = cls->methodlist; ml != NULL; ml = ml->next) for (i = 0; i < ml->count; i++) objc_sparsearray_set(dtable, (uint32_t) (uintptr_t)ml->methods[i].name, ml->methods[i].imp); if ((cats = objc_categories_for_class(cls)) != NULL) { for (i = 0; cats[i] != NULL; i++) { unsigned int j; ml = (cls->info & OBJC_CLASS_INFO_CLASS ? cats[i]->instance_methods : cats[i]->class_methods); for (; ml != NULL; ml = ml->next) for (j = 0; j < ml->count; j++) objc_sparsearray_set(dtable, (uint32_t) (uintptr_t)ml->methods[j].name, ml->methods[j].imp); } } if (cls->dtable != NULL) objc_sparsearray_free_when_singlethreaded(cls->dtable); |
︙ | ︙ |