diff options
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaDeclCXX.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp index 87efe2ba4b1..554e7426694 100644 --- a/clang/lib/Sema/SemaDeclCXX.cpp +++ b/clang/lib/Sema/SemaDeclCXX.cpp @@ -13,6 +13,7 @@ #include "Sema.h" #include "clang/Basic/LangOptions.h" +#include "clang/AST/ASTConsumer.h" #include "clang/AST/ASTContext.h" #include "clang/AST/DeclCXX.h" #include "clang/AST/Expr.h" @@ -469,11 +470,13 @@ void Sema::ActOnFinishCXXMemberSpecification(Scope* S, SourceLocation RLoc, } void Sema::ActOnFinishCXXClassDef(DeclTy *D) { - Decl *Dcl = static_cast<Decl *>(D); - assert(isa<CXXRecordDecl>(Dcl) && - "Invalid parameter, expected CXXRecordDecl"); + CXXRecordDecl *Rec = cast<CXXRecordDecl>(static_cast<Decl *>(D)); FieldCollector->FinishClass(); PopDeclContext(); + + // Everything, including inline method definitions, have been parsed. + // Let the consumer know of the new TagDecl definition. + Consumer.HandleTagDeclDefinition(Rec); } //===----------------------------------------------------------------------===// |

