summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/ADT/SequenceTest.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix warnings in ImmutableSetTest and SequenceTest.Justin Lebar2016-07-171-2/+4
| | | | | | | | | | | | | | Doing "I++" inside of an EXPECT_* triggers warning: expression with side effects has no effect in an unevaluated context because EXPECT_* partially expands to EqHelper<(sizeof(::testing::internal::IsNullLiteralHelper(i++)) == 1)> which is an unevaluated context. llvm-svn: 275717
* [ADT] Add an 'llvm::seq' function which produces an iterator range overChandler Carruth2016-05-131-0/+39
a sequence of values. It increments through the values in the half-open range: [Begin, End), producing those values when indirecting the iterator. It should support integers, iterators, and any other type providing these basic arithmetic operations. This came up in the C++ standards committee meeting, and it seemed like a useful construct that LLVM might want as well, and I wanted to understand how easily we could solve it. I suspect this can be used to write simpler counting loops even in LLVM along the lines of: for (int i : seq(0, v.size())) { ... }; As part of this, I had to fix the lack of a proxy object returned from the operator[] in our iterator facade. Differential Revision: http://reviews.llvm.org/D17870 llvm-svn: 269390
OpenPOWER on IntegriCloud