diff --git a/interpreter/llvm-project/clang/include/clang/Sema/Sema.h b/interpreter/llvm-project/clang/include/clang/Sema/Sema.h index f53e08ac0cf13..a943a477f0554 100644 --- a/interpreter/llvm-project/clang/include/clang/Sema/Sema.h +++ b/interpreter/llvm-project/clang/include/clang/Sema/Sema.h @@ -13139,30 +13139,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 26bc433175990..115c92a7c35e7 100644 --- a/interpreter/llvm-project/llvm-project.tag +++ b/interpreter/llvm-project/llvm-project.tag @@ -1 +1 @@ -ROOT-llvm20-20260616-01 +ROOT-llvm20-20261021-01