[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cfe-commits
Subject:    Re: [PATCH] Fix crash parsing pragma after a case or a default
From:       Olivier Goffart <ogoffart () kde ! org>
Date:       2013-10-26 15:30:59
Message-ID: 2551019.88NN3brqqv () finn
[Download RAW message or body]

On Sunday 22 September 2013 23:15:18 Olivier Goffart wrote:
> On Saturday 21 September 2013 15:25:41 Richard Smith wrote:
> > Thanks, LGTM. Do you need someone to commit this for you?
> 
> Yes, I don't have commit access.

Hi Richard,

That patch has still AFAIK not been commited.

Should I request commit access?

-- 
Olivier


> 
> > On Fri, Sep 20, 2013 at 4:40 AM, Olivier Goffart <ogoffart@kde.org> wrote:
> > > I made the loop at a lower level.
> > > Notice that the diagnostic is slightly different when there is a #pragma
> > > after
> > > a case: and no statements.  But I think it does not matter.
> > > 
> > > On Wednesday 18 September 2013 14:40:40 Richard Smith wrote:
> > > > I think the loop should be at a lower level. This also crashes today
> > > 
> > > (while
> > > 
> > > > diagnosing an empty loop body):
> > > > 
> > > > int f() {
> > > > 
> > > >   if (false)
> > > > 
> > > > #pragma weak f
> > > > 
> > > >     return 0;
> > > >   
> > > >   return 1;
> > > > 
> > > > }
> > > > 
> > > > ... and if we didn't have that diagnostic, we'd generate wrong code
> > > 
> > > instead.
> > > 
> > > > On Wed, Sep 18, 2013 at 1:09 AM, Olivier Goffart <ogoffart@kde.org>
> > > 
> > > wrote:
> > > > > On Monday 16 September 2013 11:43:00 Richard Smith wrote:
> > > > > > I don't particularly like adding a NullStmt here -- there was no
> > > > > > null
> > > > > > statement in the source code, so this is not a faithful AST
> > > > > 
> > > > > representation
> > > > > 
> > > > > > of the source.
> > > > > > 
> > > > > > This approach seems like it will also accept this:
> > > > > > 
> > > > > > switch (t) {
> > > > > > 
> > > > > >   case 1:
> > > > > > #pragma weak t
> > > > > > }
> > > > > > 
> > > > > > We should probably reject this, because there is no statement
> > > > > > after
> > > 
> > > the
> > > 
> > > > > > case label. (That said, GCC accepts the above code, and fully
> > > > > > treats
> > > > > 
> > > > > these
> > > > > 
> > > > > > pragmas as being statement-like entities, so your patch would be
> > > > > > bug-compatible with them.)
> > > > > > 
> > > > > > Does the same issue exist for goto labels?
> > > > > 
> > > > > The problem was the same for goto.
> > > > > 
> > > > > I attached a new patch that reject invalid code.
> > > > > 
> > > > > --
> > > > > Olivier

_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic