[cfe-commits] r152137 - in /cfe/trunk: include/clang/AST/ include/clang/Basic/ include/clang/Driver/ include/clang/Frontend/ include/clang/Parse/ include/clang/Sema/ include/clang/Serialization/ lib/AST/ lib/CodeGen/ lib/Driver/ lib/Lex/ lib/Parse/ lib/Sema/ lib/Serialization/ test/CodeGenObjC/ test/CodeGenObjC/Inputs/ test/CodeGenObjCXX/ test/CodeGenObjCXX/Inputs/ test/Driver/ test/PCH/ test/SemaObjC/ test/SemaObjCXX/
Fariborz Jahanian
fjahanian at apple.com
Sun Mar 11 16:00:22 PDT 2012
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
More information about the cfe-commits
mailing list