zhouyizhou updated this revision to Diff 472642. zhouyizhou added a comment.
We should also consider the situation of erasing the size - 1th element CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137263/new/ https://reviews.llvm.org/D137263 Files: clang/include/clang/AST/ASTUnresolvedSet.h Index: clang/include/clang/AST/ASTUnresolvedSet.h =================================================================== --- clang/include/clang/AST/ASTUnresolvedSet.h +++ clang/include/clang/AST/ASTUnresolvedSet.h @@ -69,7 +69,12 @@ return false; } - void erase(unsigned I) { Decls[I] = Decls.pop_back_val(); } + void erase(unsigned I) { + if (I == (Decls.size() - 1)) + Decls.pop_back_val(); + else + Decls[I] = Decls.pop_back_val(); + } void clear() { Decls.clear(); }
Index: clang/include/clang/AST/ASTUnresolvedSet.h =================================================================== --- clang/include/clang/AST/ASTUnresolvedSet.h +++ clang/include/clang/AST/ASTUnresolvedSet.h @@ -69,7 +69,12 @@ return false; } - void erase(unsigned I) { Decls[I] = Decls.pop_back_val(); } + void erase(unsigned I) { + if (I == (Decls.size() - 1)) + Decls.pop_back_val(); + else + Decls[I] = Decls.pop_back_val(); + } void clear() { Decls.clear(); }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits