aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Parse/Parser.h
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2009-11-16 18:57:01 +0000
committerFariborz Jahanian <fjahanian@apple.com>2009-11-16 18:57:01 +0000
commit63e963cdffca9530f920dbab58b9b4eecb2a582c (patch)
tree807e73d8edf9a9d5ee0933cb78ecce26fbf98878 /include/clang/Parse/Parser.h
parent2a70e94c543338059432fc38b801a56c60f0e0d7 (diff)
Handle case of missing '@end' in implementation context
gracefully, on par with gcc, by: Issuing a warning, doing final sematinc check of its definitions and generating its meta-data. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88934 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Parse/Parser.h')
-rw-r--r--include/clang/Parse/Parser.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/clang/Parse/Parser.h b/include/clang/Parse/Parser.h
index 3e75189aea..f436a75e29 100644
--- a/include/clang/Parse/Parser.h
+++ b/include/clang/Parse/Parser.h
@@ -179,6 +179,8 @@ public:
/// the EOF was encountered.
bool ParseTopLevelDecl(DeclGroupPtrTy &Result);
+ DeclGroupPtrTy RetreivePendingObjCImpDecl();
+
private:
//===--------------------------------------------------------------------===//
// Low-Level token peeking and consumption methods.
@@ -783,6 +785,7 @@ private:
AttributeList *prefixAttrs = 0);
DeclPtrTy ObjCImpDecl;
+ llvm::SmallVector<DeclPtrTy, 4> PendingObjCImpDecl;
DeclPtrTy ParseObjCAtImplementationDeclaration(SourceLocation atLoc);
DeclPtrTy ParseObjCAtEndDeclaration(SourceLocation atLoc);