1 // { dg-do compile }
2 
3 // 2006-02-26  Paolo Carlini  <pcarlini@suse.de>
4 //
5 // Copyright (C) 2006-2018 Free Software Foundation, Inc.
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 // 8.16 Additions to header <cmath>
23 
24 #include <tr1/cmath>
25 
26 #if _GLIBCXX_USE_C99_MATH
27 #if !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC
28 
29 template<typename T>
test01_do()30   void test01_do()
31   {
32     T x = T();
33 
34     bool ret;
35     int iret;
36 
37     ret = std::tr1::signbit(x);
38 
39     iret = std::tr1::fpclassify(x);
40     iret = iret; // Suppress unused warning.
41 
42     ret = std::tr1::isfinite(x);
43     ret = std::tr1::isinf(x);
44     ret = std::tr1::isnan(x);
45     ret = std::tr1::isnormal(x);
46 
47     ret = std::tr1::isgreater(x, x);
48     ret = std::tr1::isgreaterequal(x, x);
49     ret = std::tr1::isless(x, x);
50     ret = std::tr1::islessequal(x, x);
51     ret = std::tr1::islessgreater(x, x);
52     ret = std::tr1::isunordered(x, x);
53     ret = ret; // Suppress unused warning.
54   }
55 
test01()56 void test01()
57 {
58   test01_do<float>();
59   test01_do<double>();
60   test01_do<long double>();
61 }
62 
63 #endif
64 #endif
65