diff options
-rw-r--r-- | lib/AST/RecordLayoutBuilder.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/AST/RecordLayoutBuilder.cpp b/lib/AST/RecordLayoutBuilder.cpp index 0ede5362c4..41bd521331 100644 --- a/lib/AST/RecordLayoutBuilder.cpp +++ b/lib/AST/RecordLayoutBuilder.cpp @@ -82,13 +82,13 @@ void ASTRecordLayoutBuilder::Layout(const RecordDecl *D) { UpdateAlignment(AA->getAlignment()); // If this is a C++ class, lay out the nonvirtual bases. - if (Ctx.getLangOptions().CPlusPlus) { - const CXXRecordDecl *RD = cast<CXXRecordDecl>(D); + if (const CXXRecordDecl *RD = dyn_cast<CXXRecordDecl>(D)) { LayoutVtable(RD); LayoutNonVirtualBases(RD); assert (RD->getNumVBases() == 0 && "FIXME: We don't support virtual bases yet!"); + // FIXME: We need to layout the virtual bases in the complete object layout. } LayoutFields(D); |