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
#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 uint32_t of_hash_seed;
#ifdef __cplusplus
}
#endif







>




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

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

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

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

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

#ifndef HAVE_OBJC_ENUMERATIONMUTATION
void







|











|







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 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 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
#define OF_ENSURE(cond)							\
	if (!(cond)) {							\
		fprintf(stderr, "Failed to ensure condition in "	\
		    __FILE__ ":%d:\n" #cond "\n", __LINE__);		\
		abort();						\
	}

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







|
<
<







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 of_method_not_found(self, _cmd);


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