On Mar 11, 2012, at 3:53 PM, Fariborz Jahanian wrote:

> 
> On Mar 11, 2012, at 1:11 PM, Jordan Rose wrote:
> 
>> On Mar 6, 2012, at 12:05, Ted Kremenek wrote:
>> 
>>> Modified: cfe/trunk/lib/AST/Expr.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/Expr.cpp?rev=152137&r1=152136&r2=152137&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/AST/Expr.cpp (original)
>>> +++ cfe/trunk/lib/AST/Expr.cpp Tue Mar  6 14:05:56 2012
>>> @@ -2089,6 +2089,16 @@
>>>   // specs.
>>> case ObjCMessageExprClass:
>>> case ObjCPropertyRefExprClass:
>>> +  case ObjCSubscriptRefExprClass:
>>> +    return CT_Can;
>>> +
>>> +    // All the ObjC literals that are implemented as calls are
>>> +    // potentially throwing unless we decide to close off that
>>> +    // possibility.
>>> +  case ObjCArrayLiteralClass:
>>> +  case ObjCBoolLiteralExprClass:
>>> +  case ObjCDictionaryLiteralClass:
>>> +  case ObjCNumericLiteralClass:
>>>   return CT_Can;
>> 
>> Isn't ObjCBoolLiteralExprClass just __objc_yes/__objc_no, i.e. the same as 
>> C++ true/false? That can't throw! (@YES can, of course, but that's 
>> different.)

Yes, ObjCBoolLiteralExprClass  is a const which does not return in a call.

- fariborz



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to