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

Reply via email to