ObjFW  Diff

Differences From Artifact [889cba075c]:

  • File src/runtime/class.m — part of check-in [ede088a30d] at 2019-04-14 13:35:38 on branch trunk — runtime: Match Apple's +[initialize] behavior

    This now calls +[initialize] several times on the same class if it is
    unimplemented in one or more of the classes in the chain, to match the
    behavior of the Apple runtime. While the behavior before was safer, it
    can lead to testing against the ObjFW runtime and everything working,
    but then failing when trying to use it with the Apple runtime. (user: js, size: 21133) [annotate] [blame] [check-ins using]

To Artifact [15508d0871]:


18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include "config.h"

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>

#import "ObjFW_RT.h"
#import "private.h"

static struct objc_hashtable *classes = NULL;
static unsigned classesCount = 0;
static Class *loadQueue = NULL;
static size_t loadQueueCount = 0;
static struct objc_dtable *emptyDTable = NULL;







|







18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include "config.h"

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>

#import "ObjFWRT.h"
#import "private.h"

static struct objc_hashtable *classes = NULL;
static unsigned classesCount = 0;
static Class *loadQueue = NULL;
static size_t loadQueueCount = 0;
static struct objc_dtable *emptyDTable = NULL;