1824c19963e0263366047787b024a992afc2b1c54Howard Hinnant//===----------------------------------------------------------------------===// 2824c19963e0263366047787b024a992afc2b1c54Howard Hinnant// 3824c19963e0263366047787b024a992afc2b1c54Howard Hinnant// The LLVM Compiler Infrastructure 4824c19963e0263366047787b024a992afc2b1c54Howard Hinnant// 5824c19963e0263366047787b024a992afc2b1c54Howard Hinnant// This file is dual licensed under the MIT and the University of Illinois Open 6824c19963e0263366047787b024a992afc2b1c54Howard Hinnant// Source Licenses. See LICENSE.TXT for details. 7824c19963e0263366047787b024a992afc2b1c54Howard Hinnant// 8824c19963e0263366047787b024a992afc2b1c54Howard Hinnant//===----------------------------------------------------------------------===// 9824c19963e0263366047787b024a992afc2b1c54Howard Hinnant 10824c19963e0263366047787b024a992afc2b1c54Howard Hinnant// <unordered_map> 11824c19963e0263366047787b024a992afc2b1c54Howard Hinnant 12824c19963e0263366047787b024a992afc2b1c54Howard Hinnant// Call erase(const_iterator first, const_iterator last); with a bad range 13824c19963e0263366047787b024a992afc2b1c54Howard Hinnant 145e57142c5902c3f73a6fdcb8cab55e88ffb43a56Howard Hinnant#if _LIBCPP_DEBUG >= 1 15824c19963e0263366047787b024a992afc2b1c54Howard Hinnant 16824c19963e0263366047787b024a992afc2b1c54Howard Hinnant#define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0)) 17824c19963e0263366047787b024a992afc2b1c54Howard Hinnant 18824c19963e0263366047787b024a992afc2b1c54Howard Hinnant#include <unordered_map> 19824c19963e0263366047787b024a992afc2b1c54Howard Hinnant#include <cassert> 20824c19963e0263366047787b024a992afc2b1c54Howard Hinnant#include <exception> 21824c19963e0263366047787b024a992afc2b1c54Howard Hinnant#include <cstdlib> 22824c19963e0263366047787b024a992afc2b1c54Howard Hinnant 23824c19963e0263366047787b024a992afc2b1c54Howard Hinnantint main() 24824c19963e0263366047787b024a992afc2b1c54Howard Hinnant{ 25824c19963e0263366047787b024a992afc2b1c54Howard Hinnant { 26824c19963e0263366047787b024a992afc2b1c54Howard Hinnant typedef std::pair<int, int> P; 27824c19963e0263366047787b024a992afc2b1c54Howard Hinnant P a1[] = {P(1, 1), P(2, 2), P(3, 3)}; 28824c19963e0263366047787b024a992afc2b1c54Howard Hinnant std::unordered_map<int, int> l1(a1, a1+3); 29824c19963e0263366047787b024a992afc2b1c54Howard Hinnant std::unordered_map<int, int>::iterator i = l1.erase(next(l1.cbegin()), l1.cbegin()); 30824c19963e0263366047787b024a992afc2b1c54Howard Hinnant assert(false); 31824c19963e0263366047787b024a992afc2b1c54Howard Hinnant } 32824c19963e0263366047787b024a992afc2b1c54Howard Hinnant} 33824c19963e0263366047787b024a992afc2b1c54Howard Hinnant 34824c19963e0263366047787b024a992afc2b1c54Howard Hinnant#else 35824c19963e0263366047787b024a992afc2b1c54Howard Hinnant 36824c19963e0263366047787b024a992afc2b1c54Howard Hinnantint main() 37824c19963e0263366047787b024a992afc2b1c54Howard Hinnant{ 38824c19963e0263366047787b024a992afc2b1c54Howard Hinnant} 39824c19963e0263366047787b024a992afc2b1c54Howard Hinnant 40824c19963e0263366047787b024a992afc2b1c54Howard Hinnant#endif 41