Temporary fix for assert while evaluating array-to-pointer decay on array

rvalue. Test and better fix to follow.

llvm-svn: 143360
This commit is contained in:
Richard Smith 2011-10-31 20:20:33 +00:00
parent 773f8ad66b
commit fdc6a5956a
1 changed files with 3 additions and 1 deletions

View File

@ -1223,7 +1223,9 @@ bool PointerExprEvaluator::VisitCastExpr(const CastExpr* E) {
}
case CK_ArrayToPointerDecay:
case CK_FunctionToPointerDecay:
return EvaluateLValue(SubExpr, Result, Info);
if (SubExpr->isGLValue() || SubExpr->getType()->isFunctionType())
return EvaluateLValue(SubExpr, Result, Info);
return Error(E);
}
return ExprEvaluatorBaseTy::VisitCastExpr(E);