summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/Sema.h
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Sema/Sema.h')
-rw-r--r--clang/lib/Sema/Sema.h13
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;
OpenPOWER on IntegriCloud