ObjFW  Check-in [40fbc318bb]

Overview
Comment:Make Clang with -Wshorten-64-to-32 happy.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | runtime
Files: files | file ages | folders
SHA3-256: 40fbc318bb227b9f4af7d389d25dd2291f3dccab1e0a43613e1aa2d74667a47a
User & Date: js on 2012-03-04 20:24:33
Other Links: branch diff | manifest | tags
Context
2012-03-04
20:34
Don't try to build the runtime if we are using the Apple runtime. check-in: cf39404e83 user: js tags: runtime
20:24
Make Clang with -Wshorten-64-to-32 happy. check-in: 40fbc318bb user: js tags: runtime
20:20
Import and integrate ObjFW-RT. check-in: 129f90b580 user: js tags: runtime
Changes

Modified src/runtime/class.m from [df2c4cfdda] to [6ae6224b73].

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







-
+











-
+







		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,
			    (uintptr_t)ml->methods[i].name, ml->methods[i].imp);
			    (uint32_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,
					    (uintptr_t)ml->methods[j].name,
					    (uint32_t)ml->methods[j].name,
					    ml->methods[j].imp);
		}
	}

	if (cls->dtable != NULL)
		objc_sparsearray_free_when_singlethreaded(cls->dtable);

277
278
279
280
281
282
283
284

285
286
287
288
289
290

291
292
293
294
295
296
297
277
278
279
280
281
282
283

284
285
286
287
288
289

290
291
292
293
294
295
296
297







-
+





-
+







{
	return cls->instance_size;
}

IMP
objc_get_class_method(Class cls, SEL sel)
{
	return objc_sparsearray_get(cls->isa->dtable, sel->uid);
	return objc_sparsearray_get(cls->isa->dtable, (uint32_t)sel->uid);
}

IMP
objc_get_instance_method(Class cls, SEL sel)
{
	return objc_sparsearray_get(cls->dtable, sel->uid);
	return objc_sparsearray_get(cls->dtable, (uint32_t)sel->uid);
}

const char*
objc_get_type_encoding(Class cls, SEL sel)
{
	struct objc_abi_method_list *ml;
	struct objc_abi_category **cats;