Author: Timm Baeder Date: 2026-06-18T11:55:07+02:00 New Revision: 69c9c023ada07c8cba7fc454f3f66b2d6a73acd0
URL: https://github.com/llvm/llvm-project/commit/69c9c023ada07c8cba7fc454f3f66b2d6a73acd0 DIFF: https://github.com/llvm/llvm-project/commit/69c9c023ada07c8cba7fc454f3f66b2d6a73acd0.diff LOG: [clang][bytecode][NFC] Remove StmtExprScope (#204530) We can use a simple llvm::SaveAndRestore instead. Added: Modified: clang/lib/AST/ByteCode/Compiler.cpp Removed: ################################################################################ diff --git a/clang/lib/AST/ByteCode/Compiler.cpp b/clang/lib/AST/ByteCode/Compiler.cpp index ac5cc70018b8b..2e66722828a9f 100644 --- a/clang/lib/AST/ByteCode/Compiler.cpp +++ b/clang/lib/AST/ByteCode/Compiler.cpp @@ -168,19 +168,6 @@ template <class Emitter> class SwitchScope final { CaseMap OldCaseLabels; }; -template <class Emitter> class StmtExprScope final { -public: - StmtExprScope(Compiler<Emitter> *Ctx) : Ctx(Ctx), OldFlag(Ctx->InStmtExpr) { - Ctx->InStmtExpr = true; - } - - ~StmtExprScope() { Ctx->InStmtExpr = OldFlag; } - -private: - Compiler<Emitter> *Ctx; - bool OldFlag; -}; - /// When generating code for e.g. implicit field initializers in constructors, /// we don't have anything to point to in case the initializer causes an error. /// In that case, we need to disable location tracking for the initializer so @@ -4605,7 +4592,7 @@ bool Compiler<Emitter>::VisitCXXStdInitializerListExpr( template <class Emitter> bool Compiler<Emitter>::VisitStmtExpr(const StmtExpr *E) { LocalScope<Emitter> BS(this); - StmtExprScope<Emitter> SS(this); + llvm::SaveAndRestore StmtExprSAR(this->InStmtExpr, true); const CompoundStmt *CS = E->getSubStmt(); const Stmt *Result = CS->body_back(); _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
