diff options
Diffstat (limited to 'lib/CodeGen/CGExprComplex.cpp')
-rw-r--r-- | lib/CodeGen/CGExprComplex.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/CodeGen/CGExprComplex.cpp b/lib/CodeGen/CGExprComplex.cpp index 21c298a96a..15901eb99a 100644 --- a/lib/CodeGen/CGExprComplex.cpp +++ b/lib/CodeGen/CGExprComplex.cpp @@ -129,6 +129,14 @@ public: } ComplexPairTy VisitArraySubscriptExpr(Expr *E) { return EmitLoadOfLValue(E); } ComplexPairTy VisitMemberExpr(const Expr *E) { return EmitLoadOfLValue(E); } + ComplexPairTy VisitOpaqueValueExpr(OpaqueValueExpr *E) { + if (E->isGLValue()) return EmitLoadOfLValue(E); + + // Otherwise, the mapping is... what, exactly? Probably a + // first-class aggregate, but it's really just not worthwhile. + CGF.ErrorUnsupported(E, "complex opaque r-value"); + return ComplexPairTy(); + } // FIXME: CompoundLiteralExpr |