[cfe-commits] r68568 - in /cfe/trunk: lib/Parse/ParseObjc.cpp test/SemaObjC/exception-go-boom.m

steve naroff snaroff at apple.com
Wed Apr 8 04:44:25 PDT 2009


On Apr 7, 2009, at 11:42 PM, Chris Lattner wrote:

> On Apr 7, 2009, at 3:56 PM, Steve Naroff wrote:
>> URL: http://llvm.org/viewvc/llvm-project?rev=68568&view=rev
>> Log:
>> Fix <rdar://problem/6764172> [sema] crash on invalid.
>
> Hi Steve,
>
> Can this use ExpectAndConsume or MatchRHSPunctuation?
>

Will do.

snaroff

> -Chris
>
>
>>
>>
>> Added:
>>   cfe/trunk/test/SemaObjC/exception-go-boom.m
>> Modified:
>>   cfe/trunk/lib/Parse/ParseObjc.cpp
>>
>> Modified: cfe/trunk/lib/Parse/ParseObjc.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseObjc.cpp?rev=68568&r1=68567&r2=68568&view=diff
>>
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> =====================================================================
>> --- cfe/trunk/lib/Parse/ParseObjc.cpp (original)
>> +++ cfe/trunk/lib/Parse/ParseObjc.cpp Tue Apr  7 17:56:58 2009
>> @@ -1294,8 +1294,14 @@
>>          FirstPart = Actions.ActOnParamDeclarator(CurScope,  
>> ParmDecl);
>>        } else
>>          ConsumeToken(); // consume '...'
>> -        SourceLocation RParenLoc = ConsumeParen();
>> +
>> +        SourceLocation RParenLoc;
>>
>> +        if (Tok.is(tok::r_paren))
>> +          RParenLoc = ConsumeParen();
>> +        else // Skip over garbage, until we get to ')'.  Eat the  
>> ')'.
>> +          SkipUntil(tok::r_paren, true, false);
>> +
>>        OwningStmtResult CatchBody(Actions, true);
>>        if (Tok.is(tok::l_brace))
>>          CatchBody = ParseCompoundStatementBody();
>>
>> Added: cfe/trunk/test/SemaObjC/exception-go-boom.m
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/exception-go-boom.m?rev=68568&view=auto
>>
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> =====================================================================
>> --- cfe/trunk/test/SemaObjC/exception-go-boom.m (added)
>> +++ cfe/trunk/test/SemaObjC/exception-go-boom.m Tue Apr  7 17:56:58  
>> 2009
>> @@ -0,0 +1,9 @@
>> +// RUN: clang-cc %s -verify -fsyntax-only
>> +
>> +// Note: NSException is not declared.
>> +void f0(id x) {
>> +  @try {
>> +  } @catch (NSException *x) { // expected-warning{{type specifier  
>> missing, defaults to 'int'}} expected-error{{@catch parameter is  
>> not an Objective-C class type}}
>> +  }
>> +}
>> +
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>




More information about the cfe-commits mailing list