Correctly check for distructors when realizing vtordisps

This patch fixes the distructor test when checking for vtordisp requirements in 
microsoft record layout.  A test case is also included.

Addresses:
http://llvm.org/bugs/show_bug.cgi?id=16406#c7

llvm-svn: 192616
diff --git a/clang/lib/AST/RecordLayoutBuilder.cpp b/clang/lib/AST/RecordLayoutBuilder.cpp
index 10c7b5d..05eeae1 100644
--- a/clang/lib/AST/RecordLayoutBuilder.cpp
+++ b/clang/lib/AST/RecordLayoutBuilder.cpp
@@ -2989,7 +2989,7 @@
     for (CXXRecordDecl::method_iterator i = RD->method_begin(),
                                         e = RD->method_end();
          i != e; ++i)
-      if ((*i)->isVirtual() && (*i) != RD->getDestructor())
+      if ((*i)->isVirtual() && !isa<CXXDestructorDecl>(*i))
         Work.insert(*i);
     while (!Work.empty()) {
       const CXXMethodDecl *MD = *Work.begin();