From: Douglas Gregor Date: Thu, 15 Jul 2010 18:12:28 +0000 (+0000) Subject: Spell isPRValue() properly. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=06de03756380413c1137dd2ccee5348d206f71b2;p=clang Spell isPRValue() properly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108433 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGExpr.cpp b/lib/CodeGen/CGExpr.cpp index 94fb086b4c..db4d23187d 100644 --- a/lib/CodeGen/CGExpr.cpp +++ b/lib/CodeGen/CGExpr.cpp @@ -1753,8 +1753,7 @@ LValue CodeGenFunction::EmitCastLValue(const CastExpr *E) { return EmitUnsupportedLValue(E, "unexpected cast lvalue"); case CastExpr::CK_NoOp: - if (E->getSubExpr()->getType()->isRecordType() || - E->getSubExpr()->isLvalue(getContext()) == Expr::LV_Valid) { + if (!E->getSubExpr()->Classify(getContext()).isPRValue()) { LValue LV = EmitLValue(E->getSubExpr()); if (LV.isPropertyRef()) { QualType QT = E->getSubExpr()->getType();