10bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant//===----------------------------------------------------------------------===//
20bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant//
30bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant//                     The LLVM Compiler Infrastructure
40bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant//
50bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant// This file is dual licensed under the MIT and the University of Illinois Open
60bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant// Source Licenses. See LICENSE.TXT for details.
70bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant//
80bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant//===----------------------------------------------------------------------===//
90bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant
100bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant// <unordered_set>
110bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant
120bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant// Call erase(const_iterator first, const_iterator last); with a bad range
130bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant
145e57142c5902c3f73a6fdcb8cab55e88ffb43a56Howard Hinnant#if _LIBCPP_DEBUG >= 1
150bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant
160bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant#define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
170bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant
180bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant#include <unordered_set>
190bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant#include <cassert>
200bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant#include <exception>
210bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant#include <cstdlib>
220bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant
230bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnantint main()
240bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant{
250bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant    {
260bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant    int a1[] = {1, 2, 3};
270bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant    std::unordered_multiset<int> l1(a1, a1+3);
280bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant    std::unordered_multiset<int>::iterator i = l1.erase(next(l1.cbegin()), l1.cbegin());
290bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant    assert(false);
300bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant    }
310bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant}
320bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant
330bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant#else
340bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant
350bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnantint main()
360bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant{
370bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant}
380bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant
390bb0a7c9ea7dc2852c9bfb38584f4673ada25e2aHoward Hinnant#endif
40