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
