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// <list> 11 12// Call erase(const_iterator position) with 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 <list> 19#include <cassert> 20#include <cstdlib> 21#include <exception> 22 23#include "../../../min_allocator.h" 24 25int main() 26{ 27 { 28 int a1[] = {1, 2, 3}; 29 std::list<int> l1(a1, a1+3); 30 std::list<int> l2(a1, a1+3); 31 std::list<int>::const_iterator i = l2.begin(); 32 l1.erase(i); 33 assert(false); 34 } 35#if __cplusplus >= 201103L 36 { 37 int a1[] = {1, 2, 3}; 38 std::list<int, min_allocator<int>> l1(a1, a1+3); 39 std::list<int, min_allocator<int>> l2(a1, a1+3); 40 std::list<int, min_allocator<int>>::const_iterator i = l2.begin(); 41 l1.erase(i); 42 assert(false); 43 } 44#endif 45} 46 47#else 48 49int main() 50{ 51} 52 53#endif 54