diff options
Diffstat (limited to 'clang/lib/Sema/Sema.h')
-rw-r--r-- | clang/lib/Sema/Sema.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/clang/lib/Sema/Sema.h b/clang/lib/Sema/Sema.h index fe8176f62fc..1b6d6c14065 100644 --- a/clang/lib/Sema/Sema.h +++ b/clang/lib/Sema/Sema.h @@ -102,15 +102,14 @@ public: /// the active block object that represents it. BlockSemaInfo *CurBlock; + /// ActiveScope - If inside of a function, method, or block definition, + /// this contains a pointer to the active scope that represents it. + Scope *ActiveScope; + /// PackContext - Manages the stack for #pragma pack. An alignment /// of 0 indicates default alignment. void *PackContext; // Really a "PragmaPackStack*" - /// LabelMap - This is a mapping from label identifiers to the LabelStmt for - /// it (which acts like the label decl in some ways). Forward referenced - /// labels have a LabelStmt created for them with a null location & SubStmt. - llvm::DenseMap<IdentifierInfo*, LabelStmt*> LabelMap; - llvm::SmallVector<SwitchStmt*, 8> SwitchStack; /// ExtVectorDecls - This is a list all the extended vector types. This allows @@ -2070,6 +2069,10 @@ struct BlockSemaInfo { /// arguments etc. Scope *TheScope; + /// PrevFunctionScope - This is the scope for the enclosing function. + /// For global blocks, this will be null. + Scope *PrevFunctionScope; + /// ReturnType - This will get set to block result type, by looking at /// return types, if any, in the block body. Type *ReturnType; |