diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-01-23 23:53:27 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-01-23 23:53:27 +0000 |
commit | 72553fc19b1e57c08d77ccde1a6a6f7bcf22c08f (patch) | |
tree | da5db34b28f49d8e44f195608ba494a82ebf963d /clang/include | |
parent | 50b75dbf1a48b3ab8b6e4b06bbf2a3f3940fc9df (diff) | |
download | bcm5719-llvm-72553fc19b1e57c08d77ccde1a6a6f7bcf22c08f.tar.gz bcm5719-llvm-72553fc19b1e57c08d77ccde1a6a6f7bcf22c08f.zip |
Factor out repeated parsing of a member-declarator when parsing a
member-declaration. In the process, fix a couple of bugs that had crept in
where we would parse the first and subsequent member-declarators differently
(in particular, we didn't accept an asm-label on a member function definition
within a class, and we would accept virt-specifiers and attributes in the wrong
order on the first declarator but not on subsequent ones).
llvm-svn: 199957
Diffstat (limited to 'clang/include')
-rw-r--r-- | clang/include/clang/Parse/Parser.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/include/clang/Parse/Parser.h b/clang/include/clang/Parse/Parser.h index f7aa05eefa4..baa890a5408 100644 --- a/clang/include/clang/Parse/Parser.h +++ b/clang/include/clang/Parse/Parser.h @@ -2222,6 +2222,10 @@ private: Decl *TagDecl); ExprResult ParseCXXMemberInitializer(Decl *D, bool IsFunction, SourceLocation &EqualLoc); + void ParseCXXMemberDeclaratorBeforeInitializer(Declarator &DeclaratorInfo, + VirtSpecifiers &VS, + ExprResult &BitfieldSize, + LateParsedAttrList &LateAttrs); void ParseCXXClassMemberDeclaration(AccessSpecifier AS, AttributeList *Attr, const ParsedTemplateInfo &TemplateInfo = ParsedTemplateInfo(), ParsingDeclRAIIObject *DiagsFromTParams = 0); |