File indexing completed on 2026-05-10 08:36:59
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef LLVM_CLANG_SEMA_CLEANUPINFO_H
0015 #define LLVM_CLANG_SEMA_CLEANUPINFO_H
0016
0017 namespace clang {
0018
0019 class CleanupInfo {
0020 bool ExprNeedsCleanups = false;
0021 bool CleanupsHaveSideEffects = false;
0022
0023 public:
0024 bool exprNeedsCleanups() const { return ExprNeedsCleanups; }
0025
0026 bool cleanupsHaveSideEffects() const { return CleanupsHaveSideEffects; }
0027
0028 void setExprNeedsCleanups(bool SideEffects) {
0029 ExprNeedsCleanups = true;
0030 CleanupsHaveSideEffects |= SideEffects;
0031 }
0032
0033 void reset() {
0034 ExprNeedsCleanups = false;
0035 CleanupsHaveSideEffects = false;
0036 }
0037
0038 void mergeFrom(CleanupInfo Rhs) {
0039 ExprNeedsCleanups |= Rhs.ExprNeedsCleanups;
0040 CleanupsHaveSideEffects |= Rhs.CleanupsHaveSideEffects;
0041 }
0042 };
0043
0044 }
0045
0046 #endif