1// -*- C++ -*- 2 3// Copyright (C) 2006-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#include <ext/type_traits.h> 21#include <tr1/type_traits> 22#include <testsuite_hooks.h> 23 24template<typename T> 25 void 26 check_add_unsigned() 27 { 28 bool test __attribute__((unused)) = true; 29 typedef typename __gnu_cxx::__add_unsigned<T>::__type unsigned_type; 30 VERIFY( std::tr1::is_unsigned<unsigned_type>::value ); 31 } 32 33int main() 34{ 35 check_add_unsigned<char>(); 36 check_add_unsigned<unsigned char>(); 37 check_add_unsigned<signed char>(); 38 check_add_unsigned<int>(); 39 check_add_unsigned<unsigned int>(); 40 check_add_unsigned<signed int>(); 41 check_add_unsigned<long>(); 42 check_add_unsigned<unsigned long>(); 43 check_add_unsigned<signed long>(); 44 check_add_unsigned<long long>(); 45 check_add_unsigned<unsigned long long>(); 46 check_add_unsigned<signed long long>(); 47 return 0; 48} 49