xref: /aosp_15_r20/external/libcxx/test/std/strings/basic.string/string.access/db_index.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  // Index string out of bounds.
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      S s;
31      assert(s[0] == 0);
32      assert(s[1] == 0);
33      assert(false);
34      }
35  #if TEST_STD_VER >= 11
36      {
37      typedef std::basic_string<char, std::char_traits<char>, min_allocator<char>> S;
38      S s;
39      assert(s[0] == 0);
40      assert(s[1] == 0);
41      assert(false);
42      }
43  #endif
44  }
45  
46  #else
47  
main()48  int main()
49  {
50  }
51  
52  #endif
53