xref: /aosp_15_r20/external/libcxx/test/std/strings/basic.string/string.access/db_cfront.pass.cpp (revision 58b9f456b02922dfdb1fad8a988d5fd8765ecb80)
1  //===----------------------------------------------------------------------===//
2  //
3  //                     The LLVM Compiler Infrastructure
4  //
5  // This file is dual licensed under the MIT and the University of Illinois Open
6  // Source Licenses. See LICENSE.TXT for details.
7  //
8  //===----------------------------------------------------------------------===//
9  
10  // <string>
11  
12  // Call front() on empty const container.
13  
14  #if _LIBCPP_DEBUG >= 1
15  
16  #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
17  
18  #include <string>
19  #include <cassert>
20  #include <iterator>
21  #include <exception>
22  #include <cstdlib>
23  
24  #include "min_allocator.h"
25  
main()26  int main()
27  {
28      {
29      typedef std::string S;
30      const S s;
31      assert(s.front() == 0);
32      assert(false);
33      }
34  #if TEST_STD_VER >= 11
35      {
36      typedef std::basic_string<char, std::char_traits<char>, min_allocator<char>> S;
37      const S s;
38      assert(s.front() == 0);
39      assert(false);
40      }
41  #endif
42  }
43  
44  #else
45  
main()46  int main()
47  {
48  }
49  
50  #endif
51