diff options
Diffstat (limited to 'lib/CodeGen/CGExpr.cpp')
-rw-r--r-- | lib/CodeGen/CGExpr.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
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(); |