diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2012-07-03 22:29:23 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2012-07-03 22:29:23 +0000 |
commit | f30f6ac7b92612bd86541b69567ec294dff8142d (patch) | |
tree | 239ef1f46ffe1243c7da1c4b64b6d3f5d25e5606 /clang | |
parent | 450bb6e8ff3f9e82ef6cccb711903119be84e625 (diff) | |
download | bcm5719-llvm-f30f6ac7b92612bd86541b69567ec294dff8142d.tar.gz bcm5719-llvm-f30f6ac7b92612bd86541b69567ec294dff8142d.zip |
Obj-C++11 parser: turn off buffering of
c-function defined in objc class
implementation for now.
llvm-svn: 159690
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/Parse/ParseDecl.cpp | 4 | ||||
-rw-r--r-- | clang/lib/Parse/Parser.cpp | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp index ac221117b5f..0a8ab1ac1aa 100644 --- a/clang/lib/Parse/ParseDecl.cpp +++ b/clang/lib/Parse/ParseDecl.cpp @@ -1379,8 +1379,10 @@ Parser::DeclGroupPtrTy Parser::ParseDeclGroup(ParsingDeclSpec &DS, bool ExpectSemi = Context != Declarator::ForContext; + // FIXME. make this work for Obj-C++11 parser. if (CurParsedObjCImpl && D.isFunctionDeclarator() && - Tok.is(tok::l_brace)) { + Tok.is(tok::l_brace) && + !getLangOpts().CPlusPlus0x) { // Consume the tokens and store them for later parsing. StashAwayMethodOrFunctionBodyTokens(FirstDecl); CurParsedObjCImpl->HasCFunction = true; diff --git a/clang/lib/Parse/Parser.cpp b/clang/lib/Parse/Parser.cpp index c2c4c900903..8ae0aa99763 100644 --- a/clang/lib/Parse/Parser.cpp +++ b/clang/lib/Parse/Parser.cpp @@ -775,6 +775,7 @@ bool Parser::isDeclarationAfterDeclarator() { (getLangOpts().CPlusPlus && Tok.is(tok::l_paren)) || // int X(0) -> not a function def [C++] (CurParsedObjCImpl && + !getLangOpts().CPlusPlus0x && // FIXME for Obj-C++11 parser. Tok.is(tok::l_brace)); // C-function nested in an @implementation } |