diff options
Diffstat (limited to 'include/clang/Sema/Scope.h')
-rw-r--r-- | include/clang/Sema/Scope.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/clang/Sema/Scope.h b/include/clang/Sema/Scope.h index 27067a1119..8e4e2ef4be 100644 --- a/include/clang/Sema/Scope.h +++ b/include/clang/Sema/Scope.h @@ -135,6 +135,14 @@ private: /// scopes seen as a component. unsigned short MSLocalManglingNumber; + /// \brief SEH __try blocks get uniquely numbered within a function. This + /// variable holds the index for an SEH try block. + short SEHTryIndex; + + /// \brief SEH __try blocks get uniquely numbered within a function. This + /// variable holds the next free index at a function's scope. + short SEHTryIndexPool; + /// PrototypeDepth - This is the number of function prototype scopes /// enclosing this scope, including this scope. unsigned short PrototypeDepth; @@ -147,6 +155,7 @@ private: /// pointer is non-null and points to it. This is used for label processing. Scope *FnParent; Scope *MSLocalManglingParent; + Scope *SEHTryParent; /// BreakParent/ContinueParent - This is a direct link to the innermost /// BreakScope/ContinueScope which contains the contents of this scope @@ -285,6 +294,14 @@ public: return 1; } + int getSEHTryIndex() { + return SEHTryIndex; + } + + int getSEHTryParentIndex() const { + return SEHTryParent ? SEHTryParent->SEHTryIndex : -1; + } + /// isDeclScope - Return true if this is the scope that the specified decl is /// declared in. bool isDeclScope(Decl *D) { |