diff options
| author | Mike Aizatsky <aizatsky@chromium.org> | 2016-03-17 23:32:20 +0000 |
|---|---|---|
| committer | Mike Aizatsky <aizatsky@chromium.org> | 2016-03-17 23:32:20 +0000 |
| commit | 26cc0377bc4abc941a5ed1f35ebd8793d7b5a411 (patch) | |
| tree | f5405493e9a22ed4b9f53cbd2ef834c980d12d86 /llvm/unittests/ADT | |
| parent | 35aff03cf213795f2adbe9edc4e8424193dc34ac (diff) | |
| download | bcm5719-llvm-26cc0377bc4abc941a5ed1f35ebd8793d7b5a411.tar.gz bcm5719-llvm-26cc0377bc4abc941a5ed1f35ebd8793d7b5a411.zip | |
Revert "allow lambdas in mapped_iterator"
MSVC as usual:
C:\Buildbot\Slave\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\include\llvm/ADT/STLExtras.h(120):
error C2100: illegal indirection
C:\Buildbot\Slave\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\include\llvm/IR/Instructions.h(3966):
note: see reference to class template instantiation
'llvm::mapped_iterator<llvm::User::op_iterator,llvm::CatchSwitchInst::DerefFnTy>'
being compiled
This reverts commit e091dd63f1f34e043748e28ad160d3bc17731168.
llvm-svn: 263760
Diffstat (limited to 'llvm/unittests/ADT')
| -rw-r--r-- | llvm/unittests/ADT/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | llvm/unittests/ADT/MappedIteratorTest.cpp | 51 |
2 files changed, 0 insertions, 52 deletions
diff --git a/llvm/unittests/ADT/CMakeLists.txt b/llvm/unittests/ADT/CMakeLists.txt index 1388f5d0074..bce1bf93a33 100644 --- a/llvm/unittests/ADT/CMakeLists.txt +++ b/llvm/unittests/ADT/CMakeLists.txt @@ -22,7 +22,6 @@ set(ADTSources IntervalMapTest.cpp IntrusiveRefCntPtrTest.cpp MakeUniqueTest.cpp - MappedIteratorTest.cpp MapVectorTest.cpp OptionalTest.cpp PackedVectorTest.cpp diff --git a/llvm/unittests/ADT/MappedIteratorTest.cpp b/llvm/unittests/ADT/MappedIteratorTest.cpp deleted file mode 100644 index 8c6a10306a8..00000000000 --- a/llvm/unittests/ADT/MappedIteratorTest.cpp +++ /dev/null @@ -1,51 +0,0 @@ -//===- llvm/unittest/ADT/APInt.cpp - APInt unit tests ---------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include <vector> - -#include "llvm/ADT/STLExtras.h" -#include "llvm/ADT/iterator_range.h" -#include "gtest/gtest.h" - -using namespace llvm; - -namespace { - -template <class T, class Fn> -auto map_range(const T &range, Fn fn) - -> decltype(make_range(map_iterator(range.begin(), fn), - map_iterator(range.end(), fn))) { - return make_range(map_iterator(range.begin(), fn), - map_iterator(range.end(), fn)); -} - -static char add1(char C) { return C + 1; } - -TEST(MappedIterator, FnTest) { - std::string S("abc"); - std::string T; - - for (char C : map_range(S, add1)) { - T.push_back(C); - } - - EXPECT_STREQ("bcd", T.c_str()); -} - -TEST(MappedIterator, LambdaTest) { - std::string S("abc"); - std::string T; - - for (char C : map_range(S, [](char C) { return C + 1; })) { - T.push_back(C); - } - - EXPECT_STREQ("bcd", T.c_str()); -} -} |

