On Thursday 20 September 2007 14:07:45 [EMAIL PROTECTED] wrote: > Modified: branches/pdd15oo/src/ops/object.ops > =========================================================================== >=== --- branches/pdd15oo/src/ops/object.ops (original) > +++ branches/pdd15oo/src/ops/object.ops Thu Sep 20 14:07:44 2007 > @@ -329,17 +330,47 @@ > } > > op subclass(out PMC, in STR, in STR) :object_classes { > - PMC *_class = Parrot_class_lookup(interp, $2); > - PMC *subname_p; > - opcode_t *next = expr NEXT(); > - if (PMC_IS_NULL(_class)) { > - real_exception(interp, next, NO_CLASS, > + PMC *hll_ns, *parent_ns; > + STRING *parent_name = $2; > + PMC *child_name; > + PMC *parent_class = PMCNULL; > + PMC *child_class = PMCNULL; > + opcode_t *next = expr NEXT(); > + > + /* Create a new class from the subclass name */ > + child_name = pmc_new(interp, enum_class_String); > + VTABLE_set_string_native(interp, child_name, $3); > + PMC *naming_hash = pmc_new(interp, enum_class_Hash);
Hoist that declaration up a bit, or C89 compilers will complain. Is there a GCC warning that we could enable here? -- c