brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 6bfd485 Raw
44 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// <deque>10 11// deque()12 13#include "asan_testing.h"14#include <deque>15#include <cassert>16 17#include "test_macros.h"18#include "test_allocator.h"19#include "../../../NotConstructible.h"20#include "min_allocator.h"21 22template <class T, class Allocator>23void test() {24  std::deque<T, Allocator> d;25  assert(d.size() == 0);26  LIBCPP_ASSERT(is_double_ended_contiguous_container_asan_correct(d));27#if TEST_STD_VER >= 1128  std::deque<T, Allocator> d1 = {};29  assert(d1.size() == 0);30  LIBCPP_ASSERT(is_double_ended_contiguous_container_asan_correct(d1));31#endif32}33 34int main(int, char**) {35  test<int, std::allocator<int> >();36  test<NotConstructible, limited_allocator<NotConstructible, 1> >();37#if TEST_STD_VER >= 1138  test<int, min_allocator<int> >();39  test<NotConstructible, min_allocator<NotConstructible> >();40#endif41 42  return 0;43}44