1295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant//===----------------------------------------------------------------------===//
2295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant//
3295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant//                     The LLVM Compiler Infrastructure
4295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant//
5295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant// This file is dual licensed under the MIT and the University of Illinois Open
6295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant// Source Licenses. See LICENSE.TXT for details.
7295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant//
8295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant//===----------------------------------------------------------------------===//
9295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant
10295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant// <vector>
11295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant
12295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant// Call front() on empty const container.
13295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant
145e57142c5902c3f73a6fdcb8cab55e88ffb43a56Howard Hinnant#if _LIBCPP_DEBUG >= 1
15295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant
163fbd1dfb24f8c0e6e24bc429b8dec13b6e97d461Howard Hinnant#define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
17295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant
18295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant#include <vector>
19295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant#include <cassert>
20295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant#include <iterator>
21295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant#include <exception>
22295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant#include <cstdlib>
23295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant
24061d0cc4db18d17bf01ed14c5db0be098205bd47Marshall Clow#include "min_allocator.h"
252c39cbe0207908bca2e1da40e16cbc443d2e7438Howard Hinnant
26295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnantint main()
27295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant{
282c39cbe0207908bca2e1da40e16cbc443d2e7438Howard Hinnant    {
29295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant    typedef int T;
30295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant    typedef std::vector<T> C;
31295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant    const C c;
32295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant    assert(c.front() == 0);
33295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant    assert(false);
342c39cbe0207908bca2e1da40e16cbc443d2e7438Howard Hinnant    }
352c39cbe0207908bca2e1da40e16cbc443d2e7438Howard Hinnant#if __cplusplus >= 201103L
362c39cbe0207908bca2e1da40e16cbc443d2e7438Howard Hinnant    {
372c39cbe0207908bca2e1da40e16cbc443d2e7438Howard Hinnant    typedef int T;
382c39cbe0207908bca2e1da40e16cbc443d2e7438Howard Hinnant    typedef std::vector<T, min_allocator<T>> C;
392c39cbe0207908bca2e1da40e16cbc443d2e7438Howard Hinnant    const C c;
402c39cbe0207908bca2e1da40e16cbc443d2e7438Howard Hinnant    assert(c.front() == 0);
412c39cbe0207908bca2e1da40e16cbc443d2e7438Howard Hinnant    assert(false);
422c39cbe0207908bca2e1da40e16cbc443d2e7438Howard Hinnant    }
432c39cbe0207908bca2e1da40e16cbc443d2e7438Howard Hinnant#endif
44295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant}
45295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant
46295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant#else
47295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant
48295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnantint main()
49295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant{
50295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant}
51295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant
52295891fdc2fa9d9c7f4c1d164e48342050aef416Howard Hinnant#endif
53