1 // { dg-do compile }
2 // { dg-require-cstdint "" }
3 
4 // 2006-01-30  Paolo Carlini  <pcarlini@suse.de>
5 //
6 // Copyright (C) 2006-2020 Free Software Foundation, Inc.
7 //
8 // This file is part of the GNU ISO C++ Library.  This library is free
9 // software; you can redistribute it and/or modify it under the
10 // terms of the GNU General Public License as published by the
11 // Free Software Foundation; either version 3, or (at your option)
12 // any later version.
13 //
14 // This library is distributed in the hope that it will be useful,
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 // GNU General Public License for more details.
18 //
19 // You should have received a copy of the GNU General Public License along
20 // with this library; see the file COPYING3.  If not see
21 // <http://www.gnu.org/licenses/>.
22 
23 // 8.11 Header <cinttypes>
24 
25 #include <tr1/cinttypes>
26 
test01()27 void test01()
28 {
29 #if _GLIBCXX_USE_C99_INTTYPES_TR1
30 
31   std::tr1::intmax_t i = 0, numer = 0, denom = 0, base = 0;
32   const char* s = 0;
33   char** endptr = 0;
34 #if defined(_GLIBCXX_USE_WCHAR_T) && _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1
35   const wchar_t* ws = 0;
36   wchar_t** wendptr = 0;
37 #endif
38 
39   std::tr1::intmax_t  ret;
40   std::tr1::uintmax_t uret;
41   std::tr1::imaxdiv_t dret;
42 
43   ret = std::tr1::imaxabs(i);
44   // ret = std::tr1::abs(i);
45 
46   dret = std::tr1::imaxdiv(numer, denom);
47   // dret = std::tr1::div(numer, denom);
48 
49   ret = std::tr1::strtoimax(s, endptr, base);
50   uret = std::tr1::strtoumax(s, endptr, base);
51 
52 #if defined(_GLIBCXX_USE_WCHAR_T) && _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1
53   ret = std::tr1::wcstoimax(ws, wendptr, base);
54   uret = std::tr1::wcstoumax(ws, wendptr, base);
55 #endif
56 
57   ret = ret; // Suppress unused warnings.
58   dret = dret;
59   uret = uret;
60 
61 #endif
62 }
63