diff --git a/clang/lib/AST/Interp/ByteCodeExprGen.cpp b/clang/lib/AST/Interp/ByteCodeExprGen.cpp index a5141d728d832..195af664c13da 100644 --- a/clang/lib/AST/Interp/ByteCodeExprGen.cpp +++ b/clang/lib/AST/Interp/ByteCodeExprGen.cpp @@ -2549,9 +2549,7 @@ bool ByteCodeExprGen::VisitUnaryOperator(const UnaryOperator *E) { return DiscardResult ? this->emitPop(*T, E) : true; case UO_AddrOf: // &x // We should already have a pointer when we get here. - if (!this->visit(SubExpr)) - return false; - return DiscardResult ? this->emitPop(*T, E) : true; + return this->delegate(SubExpr); case UO_Deref: // *x return dereference( SubExpr, DerefKind::Read,