1b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner//===----------------------------------------------------------------------===//
2b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner//
3b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner//                     The LLVM Compiler Infrastructure
4b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner//
5b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner// This file is dual licensed under the MIT and the University of Illinois Open
6b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner// Source Licenses. See LICENSE.TXT for details.
7b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner//
8b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner//===----------------------------------------------------------------------===//
9b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner
105de42e6621b3d0131472c3f8838b7f0ccf3e8963Andrew Hsieh// <unordered_map>
11b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner
125de42e6621b3d0131472c3f8838b7f0ccf3e8963Andrew Hsieh// Call erase(const_iterator position) with end()
13a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner
145de42e6621b3d0131472c3f8838b7f0ccf3e8963Andrew Hsieh#if _LIBCPP_DEBUG >= 1
15a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner
16a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner#define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
17a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner
185de42e6621b3d0131472c3f8838b7f0ccf3e8963Andrew Hsieh#include <unordered_map>
19a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner#include <cassert>
20ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner
21a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turnerint main()
22b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner{
23ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner    {
245de42e6621b3d0131472c3f8838b7f0ccf3e8963Andrew Hsieh    typedef std::pair<int, int> P;
255de42e6621b3d0131472c3f8838b7f0ccf3e8963Andrew Hsieh    P a1[] = {P(1, 1), P(2, 2), P(3, 3)};
265de42e6621b3d0131472c3f8838b7f0ccf3e8963Andrew Hsieh    std::unordered_multimap<int, int> l1(a1, a1+3);
275de42e6621b3d0131472c3f8838b7f0ccf3e8963Andrew Hsieh    std::unordered_multimap<int, int>::const_iterator i = l1.end();
285de42e6621b3d0131472c3f8838b7f0ccf3e8963Andrew Hsieh    l1.erase(i);
29a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner    assert(false);
30ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner    }
31b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner}
32b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner
33a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner#else
34a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner
35b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turnerint main()
36b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner{
37b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner}
38a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner
39a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner#endif
40