tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, tahonermann, shafik. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D148982 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/test/AST/Interp/literals.cpp Index: clang/test/AST/Interp/literals.cpp =================================================================== --- clang/test/AST/Interp/literals.cpp +++ clang/test/AST/Interp/literals.cpp @@ -823,6 +823,9 @@ (void)5, (void)6; + 1 ? 0 : 1; // expected-warning {{unused}} \ + // ref-warning {{unused}} + return 0; } Index: clang/lib/AST/Interp/ByteCodeExprGen.cpp =================================================================== --- clang/lib/AST/Interp/ByteCodeExprGen.cpp +++ clang/lib/AST/Interp/ByteCodeExprGen.cpp @@ -635,8 +635,9 @@ template <class Emitter> bool ByteCodeExprGen<Emitter>::VisitAbstractConditionalOperator( const AbstractConditionalOperator *E) { - return this->visitConditional( - E, [this](const Expr *E) { return this->visit(E); }); + return this->visitConditional(E, [this](const Expr *E) { + return DiscardResult ? this->discard(E) : this->visit(E); + }); } template <class Emitter>
Index: clang/test/AST/Interp/literals.cpp =================================================================== --- clang/test/AST/Interp/literals.cpp +++ clang/test/AST/Interp/literals.cpp @@ -823,6 +823,9 @@ (void)5, (void)6; + 1 ? 0 : 1; // expected-warning {{unused}} \ + // ref-warning {{unused}} + return 0; } Index: clang/lib/AST/Interp/ByteCodeExprGen.cpp =================================================================== --- clang/lib/AST/Interp/ByteCodeExprGen.cpp +++ clang/lib/AST/Interp/ByteCodeExprGen.cpp @@ -635,8 +635,9 @@ template <class Emitter> bool ByteCodeExprGen<Emitter>::VisitAbstractConditionalOperator( const AbstractConditionalOperator *E) { - return this->visitConditional( - E, [this](const Expr *E) { return this->visit(E); }); + return this->visitConditional(E, [this](const Expr *E) { + return DiscardResult ? this->discard(E) : this->visit(E); + }); } template <class Emitter>
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits