Author: fjahanian
Date: Mon Sep 15 16:19:39 2014
New Revision: 217825
URL: http://llvm.org/viewvc/llvm-project?rev=217825&view=rev
Log:
Objective-C. Prevents a crash generating AST for a
a property assignment due to numerous user errors.
Cannot come up with a reasonable test case due to
array of user errors before the crash point.
rdar://17813651.
Modified:
cfe/trunk/lib/Sema/SemaPseudoObject.cpp
Modified: cfe/trunk/lib/Sema/SemaPseudoObject.cpp
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaPseudoObject.cpp?rev=217825&r1=217824&r2=217825&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaPseudoObject.cpp (original)
+++ cfe/trunk/lib/Sema/SemaPseudoObject.cpp Mon Sep 15 16:19:39 2014
@@ -406,6 +406,10 @@ PseudoOpBuilder::buildAssignmentOperatio
BinaryOperatorKind opcode,
Expr *LHS, Expr *RHS) {
assert(BinaryOperator::isAssignmentOp(opcode));
+
+ // Recover from user error
+ if (isa<UnresolvedLookupExpr>(RHS))
+ return ExprError();
Expr *syntacticLHS = rebuildAndCaptureObject(LHS);
OpaqueValueExpr *capturedRHS = capture(RHS);
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits