ObjFW  Check-in [e0c84651d6]

Overview
Comment:Reduce code size for OF_UNRECOGNIZED_SELECTOR
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: e0c84651d6a3b60b957a4e8ae5119b5e704614ab0abb3e3948491b9f8b20d754
User & Date: js on 2015-02-01 00:47:45
Other Links: manifest | tags
Context
2015-02-01
11:37
README-WINDOWS.md: Complete rewrite for MSYS2 check-in: c553a24d31 user: js tags: trunk
00:47
Reduce code size for OF_UNRECOGNIZED_SELECTOR check-in: e0c84651d6 user: js tags: trunk
00:47
Doxyfile: Define OF_NO_RETURN check-in: f5dce70abd user: js tags: trunk
Changes

Modified src/OFObject.h from [6df0d0f15b] to [3a0eaddd4d].

940
941
942
943
944
945
946

947
948
949
950
940
941
942
943
944
945
946
947
948
949
950
951







+




#import "OFObject+Serialization.h"

#ifdef __cplusplus
extern "C" {
#endif
extern id of_alloc_object(Class class_, size_t extraSize, size_t extraAlignment,
    void **extra);
extern void OF_NO_RETURN of_method_not_found(id self, SEL _cmd);
extern uint32_t of_hash_seed;
#ifdef __cplusplus
}
#endif

Modified src/OFObject.m from [b4471e2926] to [11cea8a285].

120
121
122
123
124
125
126
127

128
129
130
131
132
133
134
135
136
137
138
139

140
141
142
143
144
145
146
120
121
122
123
124
125
126

127
128
129
130
131
132
133
134
135
136
137
138

139
140
141
142
143
144
145
146







-
+











-
+








static void
enumerationMutationHandler(id object)
{
	@throw [OFEnumerationMutationException exceptionWithObject: object];
}

void
void OF_NO_RETURN
of_method_not_found(id obj, SEL sel)
{
	[obj doesNotRecognizeSelector: sel];

	/*
	 * Just in case doesNotRecognizeSelector: returned, even though it must
	 * never return.
	 */
	abort();
}

void
void OF_NO_RETURN
of_method_not_found_stret(void *st, id obj, SEL sel)
{
	of_method_not_found(obj, sel);
}

#ifndef HAVE_OBJC_ENUMERATIONMUTATION
void

Modified src/macros.h from [e67b80b7e5] to [620c867f01].

292
293
294
295
296
297
298
299

300
301
302
303
304
305
306
307
308
292
293
294
295
296
297
298

299


300
301
302
303
304
305
306







-
+
-
-







#define OF_ENSURE(cond)							\
	if (!(cond)) {							\
		fprintf(stderr, "Failed to ensure condition in "	\
		    __FILE__ ":%d:\n" #cond "\n", __LINE__);		\
		abort();						\
	}

#define OF_UNRECOGNIZED_SELECTOR		\
#define OF_UNRECOGNIZED_SELECTOR of_method_not_found(self, _cmd);
	[self doesNotRecognizeSelector: _cmd];	\
	OF_UNREACHABLE
#define OF_INVALID_INIT_METHOD				\
	@try {						\
		[self doesNotRecognizeSelector: _cmd];	\
	} @catch (id e) {				\
		[self release];				\
		@throw e;				\
	}						\