1// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com> 2// 3// Copyright (C) 2004-2015 Free Software Foundation, Inc. 4// 5// This file is part of the GNU ISO C++ Library. This library is free 6// software; you can redistribute it and/or modify it under the 7// terms of the GNU General Public License as published by the 8// Free Software Foundation; either version 3, or (at your option) 9// any later version. 10// 11// This library is distributed in the hope that it will be useful, 12// but WITHOUT ANY WARRANTY; without even the implied warranty of 13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14// GNU General Public License for more details. 15// 16// You should have received a copy of the GNU General Public License along 17// with this library; see the file COPYING3. If not see 18// <http://www.gnu.org/licenses/>. 19 20// 6.2.2.4 Zero sized arrays 21 22#include <tr1/array> 23#include <testsuite_hooks.h> 24 25void 26test01() 27{ 28 const size_t len = 0; 29 typedef std::tr1::array<int, len> array_type; 30 bool test __attribute__((unused)) = true; 31 32 // 1: ? 33 array_type a = { }; 34 35 // 2 36 array_type b; 37 38 // 3 39 // begin() == end() 40 VERIFY( a.begin() == a.end() ); 41 VERIFY( b.begin() == b.end() ); 42 43 // 4: ? 44 // begin() == end() == unique value. 45 { 46 typedef std::tr1::array<long, len> array_type1; 47 typedef std::tr1::array<char, len> array_type2; 48 array_type1 one; 49 array_type2 two; 50 void* v1 = one.begin(); 51 void* v2 = two.begin(); 52 VERIFY( v1 != v2 ); 53 } 54} 55 56int main() 57{ 58 test01(); 59 return 0; 60} 61 62