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