diff options
Diffstat (limited to 'clang/lib/AST/VTableBuilder.cpp')
-rw-r--r-- | clang/lib/AST/VTableBuilder.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/AST/VTableBuilder.cpp b/clang/lib/AST/VTableBuilder.cpp index 1b982a306b9..c6b38d31d4f 100644 --- a/clang/lib/AST/VTableBuilder.cpp +++ b/clang/lib/AST/VTableBuilder.cpp @@ -3215,13 +3215,13 @@ void MicrosoftVTableContext::computeVTablePaths(bool ForVBTables, Paths.push_back(P); } + if (B.isVirtual()) + VBasesSeen.insert(Base); + // After visiting any direct base, we've transitively visited all of its // morally virtual bases. for (const auto &VB : Base->vbases()) VBasesSeen.insert(VB.getType()->getAsCXXRecordDecl()); - - if (B.isVirtual()) - VBasesSeen.insert(Base); } // Sort the paths into buckets, and if any of them are ambiguous, extend all |