OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [libstdc++-v3/] [testsuite/] [18_support/] [numeric_limits/] [digits10.cc] - Blame information for rev 424

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 424 jeremybenn
// { dg-add-options ieee }
2
 
3
// 1999-08-23 bkoz
4
 
5
// Copyright (C) 1999, 2001, 2002, 2003, 2004, 2009 Free Software Foundation
6
//
7
// This file is part of the GNU ISO C++ Library.  This library is free
8
// software; you can redistribute it and/or modify it under the
9
// terms of the GNU General Public License as published by the
10
// Free Software Foundation; either version 3, or (at your option)
11
// any later version.
12
 
13
// This library is distributed in the hope that it will be useful,
14
// but WITHOUT ANY WARRANTY; without even the implied warranty of
15
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
// GNU General Public License for more details.
17
 
18
// You should have received a copy of the GNU General Public License along
19
// with this library; see the file COPYING3.  If not see
20
// <http://www.gnu.org/licenses/>.
21
 
22
// 18.2.1.1 template class numeric_limits
23
 
24
#include <limits>
25
#include <limits.h>
26
#include <float.h>
27
#include <cwchar>
28
#include <testsuite_hooks.h>
29
 
30
// libstdc++/5045
31
bool test03()
32
{
33
  bool test __attribute__((unused)) = true;
34
 
35
  VERIFY( std::numeric_limits<bool>::digits10 == 0 );
36
  if (__CHAR_BIT__ == 8)
37
    {
38
      VERIFY( std::numeric_limits<signed char>::digits10 == 2 );
39
      VERIFY( std::numeric_limits<unsigned char>::digits10 == 2 );
40
    }
41
  if (__CHAR_BIT__ * sizeof(short) == 16)
42
    {
43
      VERIFY( std::numeric_limits<signed short>::digits10 == 4 );
44
      VERIFY( std::numeric_limits<unsigned short>::digits10 == 4 );
45
    }
46
  if (__CHAR_BIT__ * sizeof(int) == 32)
47
    {
48
      VERIFY( std::numeric_limits<signed int>::digits10 == 9 );
49
      VERIFY( std::numeric_limits<unsigned int>::digits10 == 9 );
50
    }
51
  if (__CHAR_BIT__ * sizeof(long long) == 64)
52
    {
53
      VERIFY( std::numeric_limits<signed long long>::digits10 == 18 );
54
      VERIFY( std::numeric_limits<unsigned long long>::digits10 == 19 );
55
    }
56
  return test;
57
}
58
 
59
int main()
60
{
61
  test03();
62
 
63
  return 0;
64
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.