diff --git a/interpreter/llvm-project/clang/include/clang/Sema/Sema.h b/interpreter/llvm-project/clang/include/clang/Sema/Sema.h index fdcd95b2a0f2b..7d582a4c80dad 100644 --- a/interpreter/llvm-project/clang/include/clang/Sema/Sema.h +++ b/interpreter/llvm-project/clang/include/clang/Sema/Sema.h @@ -13543,30 +13543,21 @@ class Sema final : public SemaBase { class ContextAndScopeRAII { private: Sema &S; - DeclContext *SavedContext; + ContextRAII SavedContext; Scope *SavedScope; - ProcessingContextState SavedContextState; - QualType SavedCXXThisTypeOverride; public: ContextAndScopeRAII(Sema &S, DeclContext *ContextToPush, Scope *ScopeToPush) - : S(S), SavedContext(S.CurContext), SavedScope(S.CurScope), - SavedContextState(S.DelayedDiagnostics.pushUndelayed()), - SavedCXXThisTypeOverride(S.CXXThisTypeOverride) { - assert(ContextToPush && "pushing null context"); - S.CurContext = ContextToPush; + : S(S), SavedContext(S, ContextToPush), SavedScope(S.CurScope) { S.CurScope = ScopeToPush; } void pop() { - if (!SavedContext) + SavedContext.pop(); + if (!SavedScope) return; - S.CurContext = SavedContext; S.CurScope = SavedScope; - S.DelayedDiagnostics.popUndelayed(SavedContextState); - S.CXXThisTypeOverride = SavedCXXThisTypeOverride; - SavedContext = 0; - SavedScope = 0; + SavedScope = nullptr; } ~ContextAndScopeRAII() { pop(); } diff --git a/interpreter/llvm-project/llvm-project.tag b/interpreter/llvm-project/llvm-project.tag index c6e9d35fc391b..f277a4ee1c7f0 100644 --- a/interpreter/llvm-project/llvm-project.tag +++ b/interpreter/llvm-project/llvm-project.tag @@ -1 +1 @@ -ROOT-llvm22-20261019-01 +ROOT-llvm22-20261021-01