erase_iter_iter_db2.pass.cpp revision 3fbd1dfb24f8c0e6e24bc429b8dec13b6e97d461
1//===----------------------------------------------------------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is dual licensed under the MIT and the University of Illinois Open 6// Source Licenses. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10// <vector> 11 12// Call erase(const_iterator first, const_iterator last); with second iterator from another container 13 14#if _LIBCPP_DEBUG2 >= 1 15 16#define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0)) 17 18#include <vector> 19#include <cassert> 20#include <exception> 21#include <cstdlib> 22 23int main() 24{ 25 int a1[] = {1, 2, 3}; 26 std::vector<int> l1(a1, a1+3); 27 std::vector<int> l2(a1, a1+3); 28 std::vector<int>::iterator i = l1.erase(l1.cbegin(), l2.cbegin()+1); 29 assert(false); 30} 31 32#else 33 34int main() 35{ 36} 37 38#endif 39