[cfe-commits] r61656 - /cfe/trunk/lib/Parse/ParseTemplate.cpp

Chris Lattner clattner at apple.com
Sun Jan 4 16:57:37 PST 2009


On Jan 4, 2009, at 4:19 PM, Chris Lattner wrote:

>
> On Jan 4, 2009, at 4:06 PM, Sebastian Redl wrote:
>
>> Chris Lattner wrote:
>>> Author: lattner
>>> Date: Sun Jan  4 17:51:17 2009
>>> New Revision: 61656
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=61656&view=rev
>>> Log:
>>> Simplify some control flow and remove a call to
>>> TryAnnotateCXXScopeToken
>>> that isn't doing what is desired. It was annotating the current  
>>> token
>>> not the 'next' token.  This code should be fixed.
>>>
>> Heh! Spring cleaning? :-)
>>
>> Anyway, does this fix the problem just reported on cfe-dev? That is,
>> does this code still assert?
>>
>> int a;
>> int f() {
>> return ::a;
>> }
>
> Still crashes, I'm iterating on the code with the goal of eventually
> fixing it.  There is a subtle bug when it pushes tokens back into the
> preprocessor.  I think this is a scary thing to do, so I'm working on
> removing it.  The code is also doing a lot more lookahead than I think
> it needs to do.

Actually, I just checked and this example is inexplicably fixed.  This  
still crashes though:

namespace a {
   typedef int f();

   void g() {
     ::f();
   }
}

-Chris



More information about the cfe-commits mailing list