139213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant//===----------------------------------------------------------------------===// 239213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant// 339213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant// The LLVM Compiler Infrastructure 439213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant// 539213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant// This file is dual licensed under the MIT and the University of Illinois Open 639213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant// Source Licenses. See LICENSE.TXT for details. 739213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant// 839213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant//===----------------------------------------------------------------------===// 939213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant 1039213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant// <unordered_set> 1139213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant 1239213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant// Call erase(const_iterator first, const_iterator last); with a bad range 1339213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant 145e57142c5902c3f73a6fdcb8cab55e88ffb43a56Howard Hinnant#if _LIBCPP_DEBUG >= 1 1539213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant 1639213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant#define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0)) 1739213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant 1839213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant#include <unordered_set> 1939213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant#include <cassert> 2039213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant#include <exception> 2139213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant#include <cstdlib> 2239213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant 2339213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnantint main() 2439213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant{ 2539213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant { 2639213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant int a1[] = {1, 2, 3}; 2739213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant std::unordered_set<int> l1(a1, a1+3); 2839213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant std::unordered_set<int>::iterator i = l1.erase(next(l1.cbegin()), l1.cbegin()); 2939213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant assert(false); 3039213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant } 3139213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant} 3239213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant 3339213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant#else 3439213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant 3539213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnantint main() 3639213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant{ 3739213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant} 3839213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant 3939213641f4dbaa2f412bd6cceb57f81edcae95f9Howard Hinnant#endif 40