ObjFW  Diff

Differences From Artifact [fc3b904999]:

  • File src/OFThread.m — part of check-in [13ee56edf3] at 2014-06-21 21:43:43 on branch trunk — Move all macros from OFObject.h to macros.h

    This means that OFObject.h imports macros.h now, making it unnecessary
    to manually import macros.h in almost every file. And while at it, also
    import autorelease.h in OFObject.h, so that this doesn't need to be
    manually imported in almost every file as well. (user: js, size: 7968) [annotate] [blame] [check-ins using]

To Artifact [4615b52a3c]:

  • File src/OFThread.m — part of check-in [716b1fc2b3] at 2014-07-19 09:55:06 on branch trunk — Don't use C11's noreturn

    It causes just too much trouble: It breaks with some old versions of
    Clang, where noreturn does not work correctly, and OS X headers break if
    noreturn is defined, requiring an ugly and fragile workaround. It's just
    not worth the trouble it causes, as the same functionality is available
    through __attribute__((__noreturn__)). (user: js, size: 7976) [annotate] [blame] [check-ins using]


238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
#ifdef OF_HAVE_THREADS
+ (void)terminate
{
	[self terminateWithObject: nil];

	/*
	 * For some reason, Clang thinks terminateWithObject: can return - even
	 * though it is declared noreturn - and warns that terminate returns
	 * while being declared noreturn.
	 */
	OF_UNREACHABLE
}

+ (void)terminateWithObject: (id)object
{
	OFThread *thread = of_tlskey_get(threadSelfKey);







|
|







238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
#ifdef OF_HAVE_THREADS
+ (void)terminate
{
	[self terminateWithObject: nil];

	/*
	 * For some reason, Clang thinks terminateWithObject: can return - even
	 * though it is declared OF_NO_RETURN - and warns that terminate
	 * returns while being declared OF_NO_RETURN.
	 */
	OF_UNREACHABLE
}

+ (void)terminateWithObject: (id)object
{
	OFThread *thread = of_tlskey_get(threadSelfKey);