make sure a class' super class gets referenced when the class is implemented
to ensure the super class' object file gets linked in when it's in a library
This commit is contained in:
parent
fabaf84745
commit
09ce2b0662
|
@ -215,8 +215,10 @@ class_begin (class_t *class)
|
||||||
class->def->initialized = class->def->constant = 1;
|
class->def->initialized = class->def->constant = 1;
|
||||||
cls = &G_STRUCT (pr_class_t, class->def->ofs);
|
cls = &G_STRUCT (pr_class_t, class->def->ofs);
|
||||||
EMIT_DEF (cls->class_pointer, meta_def);
|
EMIT_DEF (cls->class_pointer, meta_def);
|
||||||
if (class->super_class)
|
if (class->super_class) {
|
||||||
EMIT_STRING (cls->super_class, class->super_class->class_name);
|
EMIT_STRING (cls->super_class, class->super_class->class_name);
|
||||||
|
class_def (class->super_class, 1);
|
||||||
|
}
|
||||||
EMIT_STRING (cls->name, class->class_name);
|
EMIT_STRING (cls->name, class->class_name);
|
||||||
cls->info = _PR_CLS_CLASS;
|
cls->info = _PR_CLS_CLASS;
|
||||||
cls->protocols = meta->protocols;
|
cls->protocols = meta->protocols;
|
||||||
|
|
|
@ -191,8 +191,7 @@ process_def (qfo_def_t *def)
|
||||||
def->flags = d->flags;
|
def->flags = d->flags;
|
||||||
Hash_Add (defined_defs, def);
|
Hash_Add (defined_defs, def);
|
||||||
} else {
|
} else {
|
||||||
if (def->num_relocs)
|
Hash_Add (extern_defs, def);
|
||||||
Hash_Add (extern_defs, def);
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (def->flags & QFOD_GLOBAL) {
|
if (def->flags & QFOD_GLOBAL) {
|
||||||
|
|
Loading…
Reference in New Issue