danlark created this revision. Herald added a project: All. danlark requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
In sorting elements can compare with themselves and sometimes assert further down the line was triggered Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D155809 Files: clang/lib/AST/VTableBuilder.cpp Index: clang/lib/AST/VTableBuilder.cpp =================================================================== --- clang/lib/AST/VTableBuilder.cpp +++ clang/lib/AST/VTableBuilder.cpp @@ -1560,6 +1560,7 @@ std::stable_sort( NewImplicitVirtualFunctions.begin(), NewImplicitVirtualFunctions.end(), [](const CXXMethodDecl *A, const CXXMethodDecl *B) { + if (A == B) return false; if (A->isCopyAssignmentOperator() != B->isCopyAssignmentOperator()) return A->isCopyAssignmentOperator(); if (A->isMoveAssignmentOperator() != B->isMoveAssignmentOperator())
Index: clang/lib/AST/VTableBuilder.cpp =================================================================== --- clang/lib/AST/VTableBuilder.cpp +++ clang/lib/AST/VTableBuilder.cpp @@ -1560,6 +1560,7 @@ std::stable_sort( NewImplicitVirtualFunctions.begin(), NewImplicitVirtualFunctions.end(), [](const CXXMethodDecl *A, const CXXMethodDecl *B) { + if (A == B) return false; if (A->isCopyAssignmentOperator() != B->isCopyAssignmentOperator()) return A->isCopyAssignmentOperator(); if (A->isMoveAssignmentOperator() != B->isMoveAssignmentOperator())
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits