summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/ADT/SmallSetTest.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [ADT] add equality operator for SmallSetFedor Sergeev2019-10-291-0/+25
| | | | | | | Makes it easier to migrate existing code that uses std::set. Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D69417
* Update the file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-191-4/+3
| | | | | | | | | | | | | | | | | to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
* [ADT] Remove illegal comparison of singular iterators from SmallSetTestFlorian Hahn2018-10-311-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the assertion that a copy of a moved-from SmallSetIterator equals the original, which is illegal due to SmallSetIterator including an instance of a standard `std::set` iterator. C++ [iterator.requirements.general] states that comparing singular iterators has undefined result: > Iterators can also have singular values that are not associated with > any sequence. [...] Results of most expressions are undefined for > singular values; the only exceptions are destroying an iterator that > holds a singular value, the assignment of a non-singular value to an > iterator that holds a singular value, and, for iterators that satisfy > the Cpp17DefaultConstructible requirements, using a value-initialized > iterator as the source of a copy or move operation. This assertion triggers the following error in the GNU C++ Library in debug mode under EXPENSIVE_CHECKS: /usr/include/c++/8.2.1/debug/safe_iterator.h:518: Error: attempt to compare a singular iterator to a singular iterator. Objects involved in the operation: iterator "lhs" @ 0x0x7fff86420670 { state = singular; } iterator "rhs" @ 0x0x7fff86420640 { state = singular; } Patch by Eugene Sharygin. Reviewers: fhahn, dblaikie, chandlerc Reviewed By: fhahn, dblaikie Differential Revision: https://reviews.llvm.org/D53793 llvm-svn: 345712
* Recommit r334887: [SmallSet] Add SmallSetIterator.Florian Hahn2018-07-241-0/+79
| | | | | | | Updated to make sure we properly construct/destroy SetIter if it has a non-trivial ctors/dtors, like in MSVC. llvm-svn: 337818
* Revert rL337292 due to another MSVC STL problem.Florian Hahn2018-07-171-55/+0
| | | | llvm-svn: 337303
* Recommit r334887: [SmallSet] Add SmallSetIterator.Florian Hahn2018-07-171-0/+55
| | | | | | | Spell out destructor, copy/move constructor and assignment operators for MSVC STL, where set<T>::const_iterator is not trivially copy constructible. llvm-svn: 337292
* Reverted r336805 as it broke llvm-clang-x86_64-expensive-checks-win build botGalina Kistanova2018-07-121-55/+0
| | | | llvm-svn: 336923
* Recommit r334887: [SmallSet] Add SmallSetIterator.Florian Hahn2018-07-111-0/+55
| | | | | | | This version now uses the subset of is_trivially_XXX provided by GCC 4.8 and llvm/Support/type_traits.h llvm-svn: 336805
* Revert r334887, as GCC 4.8 does not have is_trivially_copy_constructible & coFlorian Hahn2018-06-161-55/+0
| | | | llvm-svn: 334889
* [SmallSet] Add SmallSetIterator.Florian Hahn2018-06-161-0/+55
| | | | | | | | | | | | | | | This patch adds a simple const_iterator implementation for SmallSet by delegating to either a SmallVector::const_iterator or std::set::const_iterator, depending on which storage is used by the SmallSet. Reviewers: dblaikie, craig.topper Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D47942 llvm-svn: 334887
* [SmallSet] Add some simple unit tests.Florian Hahn2018-06-081-0/+70
Reviewers: craig.topper, dblaikie Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D47940 llvm-svn: 334321
OpenPOWER on IntegriCloud