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 23#include "../../../min_allocator.h" 24 25int main() 26{ 27 { 28 int a1[] = {1, 2, 3}; 29 std::vector<int> l1(a1, a1+3); 30 std::vector<int> l2(a1, a1+3); 31 std::vector<int>::iterator i = l1.erase(l1.cbegin(), l2.cbegin()+1); 32 assert(false); 33 } 34#if __cplusplus >= 201103L 35 { 36 int a1[] = {1, 2, 3}; 37 std::vector<int, min_allocator<int>> l1(a1, a1+3); 38 std::vector<int, min_allocator<int>> l2(a1, a1+3); 39 std::vector<int, min_allocator<int>>::iterator i = l1.erase(l1.cbegin(), l2.cbegin()+1); 40 assert(false); 41 } 42#endif 43} 44 45#else 46 47int main() 48{ 49} 50 51#endif 52