Minor refactoring of my last patch. Per Doug's suggestion.

llvm-svn: 142807
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 0be473e..4d7a53f 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -1151,7 +1151,7 @@
       // Okay, add this new base class.
       KnownBaseTypes[NewBaseType] = Bases[idx];
       Bases[NumGoodBases++] = Bases[idx];
-      if (const RecordType *Record = dyn_cast<RecordType>(NewBaseType))
+      if (const RecordType *Record = NewBaseType->getAs<RecordType>())
         if (const CXXRecordDecl *RD = cast<CXXRecordDecl>(Record->getDecl()))
           if (RD->hasAttr<WeakAttr>())
             Class->addAttr(::new (Context) WeakAttr(SourceRange(), Context));