Not only vtop, tok, tokc, error message was one of the bigs as well, with
this first attempt I've tried to keep the name of variable and line numbers
in a way that is more or less easy to compare before and after code
refactoring.

After doing it I realize that a better design should be done, like trapping
error and warning messages to user defined function, prefix global
functions, structures to avoid name clashes with third party
libraries/code, a better connection between code generation specific for
each platform, ...

As I said this was a first attempt and is somehow working, now the
community have one start point to decide and compare the pros & cons of a
such code change.

Cheers !


On Thu, Mar 27, 2014 at 3:44 PM, Thomas Preudhomme <robo...@celest.fr>wrote:

> Le 2014-03-27 07:23, Domingo Alvarez Duarte a écrit :
>
>  Again my mistake, it does pass vla tests on linux 32 bits, the bounds
>> check tests fail with garbage being passed to strlen.
>> On arm it also works.
>>
>
> Hi Domingo,
>
> I took a look at your patch and although I agree there is some problems, I
> find the approach a bit intrusive. For instance, in the vset case instead
> of zeroing the cval it would be better to fix the places that read the .ull
> field when it was initialized with vset. Normally a code would check the
> type before reading .ull and any caller of vset should do the right thing
> if the type needs to use the .ull field.
>
> There is also get_tok_str that would require fixing as (as was pointed out
> by mobi phil) many caller of that function gives NULL as second parameter.
> It would be easily fixed with:
>
> CValue cval;
>
> if (!cv) {
>     cval.ull = 0;
>     cv = &cval;
> }
>
> The only place that should be fixed is when a variable is read but not
> initialized. When the wrong field of an union is read, either another field
> should be read or another field should have been set. Also, if tcc was used
> some day to compile on a big endian system the zeroing would also lead to
> garbage being read (only on little endian does it have no impact).
>
> By the way, I'll try my best to take a look at your patch after the
> release. We'll then figure out how to best merge it. Maybe it's better in
> one big commit, I need to look at it first. I guess vtop, tok and tok are
> the biggest reason to have TCCState sneak in all function prototype, is
> that it?
>
> Best regards,
>
> Thomas
>
> _______________________________________________
> Tinycc-devel mailing list
> Tinycc-devel@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel
>
_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to