diff options
| author | Douglas Gregor <dgregor@apple.com> | 2011-01-04 00:32:56 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2011-01-04 00:32:56 +0000 |
| commit | 44e7df67d963de48125873d82eed90821c8a370d (patch) | |
| tree | 17d6e34b294f0c7d7fa2c2bca2e0ff4a443e7c11 /clang/lib/AST/DeclCXX.cpp | |
| parent | bd9dfb2e297bb29f33d631566bcf0b6db6e3f61e (diff) | |
| download | bcm5719-llvm-44e7df67d963de48125873d82eed90821c8a370d.tar.gz bcm5719-llvm-44e7df67d963de48125873d82eed90821c8a370d.zip | |
Implement pack expansion of base initializers, so that we can
initialize those lovely mixins that come from pack expansions of base
specifiers.
llvm-svn: 122793
Diffstat (limited to 'clang/lib/AST/DeclCXX.cpp')
| -rw-r--r-- | clang/lib/AST/DeclCXX.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/clang/lib/AST/DeclCXX.cpp b/clang/lib/AST/DeclCXX.cpp index 3304ad9a293..13a25321d4b 100644 --- a/clang/lib/AST/DeclCXX.cpp +++ b/clang/lib/AST/DeclCXX.cpp @@ -1002,8 +1002,9 @@ bool CXXMethodDecl::hasInlineBody() const { CXXBaseOrMemberInitializer:: CXXBaseOrMemberInitializer(ASTContext &Context, TypeSourceInfo *TInfo, bool IsVirtual, - SourceLocation L, Expr *Init, SourceLocation R) - : BaseOrMember(TInfo), Init(Init), + SourceLocation L, Expr *Init, SourceLocation R, + SourceLocation EllipsisLoc) + : BaseOrMember(TInfo), MemberOrEllipsisLocation(EllipsisLoc), Init(Init), LParenLoc(L), RParenLoc(R), IsVirtual(IsVirtual), IsWritten(false), SourceOrderOrNumArrayIndices(0) { @@ -1013,7 +1014,7 @@ CXXBaseOrMemberInitializer:: CXXBaseOrMemberInitializer(ASTContext &Context, FieldDecl *Member, SourceLocation MemberLoc, SourceLocation L, Expr *Init, SourceLocation R) - : BaseOrMember(Member), MemberLocation(MemberLoc), Init(Init), + : BaseOrMember(Member), MemberOrEllipsisLocation(MemberLoc), Init(Init), LParenLoc(L), RParenLoc(R), IsVirtual(false), IsWritten(false), SourceOrderOrNumArrayIndices(0) { @@ -1023,7 +1024,7 @@ CXXBaseOrMemberInitializer:: CXXBaseOrMemberInitializer(ASTContext &Context, IndirectFieldDecl *Member, SourceLocation MemberLoc, SourceLocation L, Expr *Init, SourceLocation R) - : BaseOrMember(Member), MemberLocation(MemberLoc), Init(Init), + : BaseOrMember(Member), MemberOrEllipsisLocation(MemberLoc), Init(Init), LParenLoc(L), RParenLoc(R), IsVirtual(false), IsWritten(false), SourceOrderOrNumArrayIndices(0) { @@ -1035,7 +1036,7 @@ CXXBaseOrMemberInitializer(ASTContext &Context, SourceLocation L, Expr *Init, SourceLocation R, VarDecl **Indices, unsigned NumIndices) - : BaseOrMember(Member), MemberLocation(MemberLoc), Init(Init), + : BaseOrMember(Member), MemberOrEllipsisLocation(MemberLoc), Init(Init), LParenLoc(L), RParenLoc(R), IsVirtual(false), IsWritten(false), SourceOrderOrNumArrayIndices(NumIndices) { |

