[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] MAJOR bug: tcc doesn't detect duplicate cases in swit
From: |
Michael B. Smith |
Subject: |
Re: [Tinycc-devel] MAJOR bug: tcc doesn't detect duplicate cases in switch statements |
Date: |
Mon, 14 Mar 2016 14:32:58 +0000 |
I agree that it needs addressing. I just objected to the initial submitted
patch.
-----Original Message-----
From: address@hidden [mailto:address@hidden On Behalf Of address@hidden
Sent: Sunday, March 13, 2016 11:40 PM
To: address@hidden
Subject: Re: [Tinycc-devel] MAJOR bug: tcc doesn't detect duplicate cases in
switch statements
Amine Najahi <address@hidden> wrote:
> Hi,
>
> The patch is not committed. It is just a hackish way I coded to
> explore how this cases "bug" could be addressed using tcc's api. It
> certainly does not handle the gnu "..." extension.
>
> My conclusions is that I agree with Michael's arguments. I, for one,
> use tcc for its speed, and I can live with it not diagnosing this issue.
> It is too costly for a one pass compiler.
>
> Cheers,
>
> Amine
>
>
> On Sat, Mar 12, 2016 at 5:00 AM, Michael B. Smith <
> address@hidden> wrote:
>
> > I am a rare poster here – but I think your patch leads to all sorts
> > of problems.
> >
> >
> >
> > Please revert it/don’t commit it.
> >
> >
> >
> > *From:*
> > address@hidden
> > [mailto:address@hidden
> > .org] *On Behalf Of *Amine Najahi
> > *Sent:* Friday, March 11, 2016 12:13 PM
> > *To:* address@hidden
> > *Subject:* Re: [Tinycc-devel] MAJOR bug: tcc doesn't detect
> > duplicate cases in switch statements
> >
> >
> >
> > Hi Arnold and tcc folks,
> >
> >
> >
> > Perhaps surprisingly, correcting this bug is quite costly.
> >
> > Here is a tentative patch. I find it messy but working with dynamic
> > data
> >
> > and passing the cases to the block function are necessary to handle
> >
> > an "unlimited number" of cases and nested switch blocks.
> >
> >
> >
> > Also, since the 'block' function is starting to have too many
> > arguments, I
> >
> > suggest to create a structure that assembles related arguments such
> >
> > that def_sym, case_sym, cases, and cases_cnt, and any other...
> >
> >
> >
> > Does that sound ok?
> >
> >
> >
> > Regards,
> >
> > Amine
> >
> >
> >
> >
> >
> > On Thu, Mar 10, 2016 at 2:41 PM, <address@hidden> wrote:
> >
> > Hi All.
> >
> > On the latest mob:
> >
> > $ cat foo.c
> > int main(int argc, char**argv)
> > {
> > int a;
> >
> > switch (a) {
> > case 1:
> > case 2:
> > break;
> > case 3:
> > break;
> > case 1:
> > break;
> > default:
> > break;
> > }
> >
> > return 0;
> > }
> > $ PATH=/tmp/tcc/bin:$PATH tcc foo.c
> > $
> >
> > $ gcc foo.c -o foo
> > foo.c: In function ‘main’:
> > foo.c:11:2: error: duplicate case value
> > case 1:
> > ^
> > foo.c:6:2: error: previously used here
> > case 1:
> > ^
> >
> > This is pretty serious....
> >
> > Thanks,
> >
> > Arnold
> >
> > _______________________________________________
> > Tinycc-devel mailing list
> > address@hidden
> > https://lists.nongnu.org/mailman/listinfo/tinycc-devel
> >
> >
> >
> > _______________________________________________
> > Tinycc-devel mailing list
> > address@hidden
> > https://lists.nongnu.org/mailman/listinfo/tinycc-devel
> >
> >
Whoever it was that posted the note about the standard requiring a diagnostic
was right on target. This is too fundamental a mistake not to diagnose.
But since I don't make commits, I'll stop complaining. I will also most likely
stop using tcc, nor will I recommend it in the future.
Good luck folks, you're gonna need it.
Arnold
_______________________________________________
Tinycc-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/tinycc-devel
- Re: [Tinycc-devel] MAJOR bug: tcc doesn't detect duplicate cases in switch statements, (continued)
- Re: [Tinycc-devel] MAJOR bug: tcc doesn't detect duplicate cases in switch statements, Daniel Glöckner, 2016/03/12
- Re: [Tinycc-devel] MAJOR bug: tcc doesn't detect duplicate cases in switch statements, Michael Matz, 2016/03/12
- Re: [Tinycc-devel] MAJOR bug: tcc doesn't detect duplicate cases in switch statements, Christian Jullien, 2016/03/13
- Re: [Tinycc-devel] MAJOR bug: tcc doesn't detect duplicate cases in switch statements, Joel Bodenmann, 2016/03/13
- Re: [Tinycc-devel] MAJOR bug: tcc doesn't detect duplicate cases in switch statements, Christian Jullien, 2016/03/13
- Re: [Tinycc-devel] MAJOR bug: tcc doesn't detect duplicate cases in switch statements, Michael Matz, 2016/03/12
Re: [Tinycc-devel] MAJOR bug: tcc doesn't detect duplicate cases in switch statements, Michael B. Smith, 2016/03/11