tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] Is the CVS repository dead yet?


From: Ivo
Subject: Re: [Tinycc-devel] Is the CVS repository dead yet?
Date: Sun, 22 Mar 2009 00:23:39 +0100
User-agent: KMail/1.9.3

On Saturday 21 March 2009 20:11, shinichiro.h wrote:
> I'm sorry to know the archive was gone. I've found bugs around macro
> and the bug was already reported.
>
> http://www.mail-archive.com/address@hidden/msg01798.html
>
> Feng said that there was a fix for this bug in Rob's list. I
> checked Rob's repository but this patch seemed to be not applied.
> I'm happy if anyone has this patch in their inbox and posts it again.
> Latest ruby cannot be compiled due to this bug. At first, I tried to
> fix this by myself, but it seemed that this bug isn't easy for me...

I think you mean this post:

> Date: Wed, 26 Dec 2007 14:17:35 +0800
> From: ShangHongzhang 62185 <address@hidden>
> Message-id: <address@hidden>
> Subject: Re: [Tinycc] [Tinycc-devel] macro substitution bug
[..]
> I have fixed the bug by adding a "*nested_list = (*nested_list)->prev;"
> in "if (s->type.t == MACRO_FUNC) {...}" 
> But I don't know if it is the best way to do.

> int macro_subst_tok (TokenString *tok_str, Sym **nested_list, Sym *s,
> struct macro_level **can_read_stream) 
> {
>    if (tok == TOK___LINE__) {
>    }
>    else if (tok == TOK___FILE__) {
>    }
>    else if (tok == TOK___DATE__ || tok == TOK___TIME__) {
>    }
>    else {
>        if (s->type.t == MACRO_FUNC) {
>            if (macro_ptr) {
>                t = *macro_ptr;
>                if (t == 0 && can_read_stream) {
>                    struct macro_level *ml = *can_read_stream;
>                    macro_ptr = NULL;
>                    if (ml) {
>                        macro_ptr = ml->p;
>                        ml->p = NULL;
>                        *can_read_stream = ml->prev;
>                        if (nested_list) // <<<<<<<<<<<<<<<<<<<<<<< 
>                            *nested_list = (*nested_list)->prev; //<<<<<<<< 
>                    }
>                    goto redo;
>                }
>            }
>            else {
>            }
>        }
>        sym_push2 (nested_list, s->v, 0, 0);
>        macro_subst (tok_str, nested_list, mstr, can_read_stream);
>
>        sa1 = *nested_list;             // <<<<<<<<<<<<<<<<<<<<<<<
>        if (sa1) {                      // <<<<<<<<<<<<<<<<<<<<<<<
>            *nested_list = sa1->prev;   // <<<<<<<<<<<<<<<<<<<<<<<
>            sym_free (sa1);             // <<<<<<<<<<<<<<<<<<<<<<<
>        }
>        ...
>    }
>    return 0;
>}
>
> Regards!
>
> Jack Shang




reply via email to

[Prev in Thread] Current Thread [Next in Thread]