]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++98.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 26_numerics / headers / cmath / c99_classification_macros_c++98.cc
CommitLineData
e521873c
GDR
1// 2001-04-06 gdr
2
7adcbafe 3// Copyright (C) 2001-2022 Free Software Foundation, Inc.
e521873c
GDR
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
748086b7 8// Free Software Foundation; either version 3, or (at your option)
e521873c
GDR
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
748086b7
JJ
17// with this library; see the file COPYING3. If not see
18// <http://www.gnu.org/licenses/>.
e521873c 19
8babc12b 20// { dg-options "-std=gnu++98" }
b857b179 21// { dg-do compile { target c++98_only } }
a5ea7a0b 22// { dg-excess-errors "" { target uclibc } }
e521873c 23
7cda84dc 24#include <cmath>
e521873c
GDR
25
26void fpclassify() { }
27
28void isfinite() { }
29
30void isinf() { }
31
32void isnan() { }
33
34void isnormal() { }
35
36void signbit() { }
37
38void isgreater() { }
39
40void isgreaterequal() { }
41
42void isless() { }
43
44void islessequal() { }
45
46void islessgreater() { }
47
48void isunordered() { }
49
02a65d23 50#if _GLIBCXX_USE_C99_MATH
7cda84dc
BK
51template <typename _Tp>
52 void test_c99_classify()
53 {
7cda84dc
BK
54 typedef _Tp fp_type;
55 fp_type f1 = 1.0;
56 fp_type f2 = 3.0;
57 int res = 0;
b857b179 58
5db6f3de
BK
59 res = std::fpclassify(f1);
60 res = std::isfinite(f2);
61 res = std::isinf(f1);
62 res = std::isnan(f2);
63 res = std::isnormal(f1);
64 res = std::signbit(f2);
65 res = std::isgreater(f1, f2);
66 res = std::isgreaterequal(f1, f2);
67 res = std::isless(f1, f2);
68 res = std::islessequal(f1,f2);
69 res = std::islessgreater(f1, f2);
70 res = std::isunordered(f1, f2);
567d4027 71 res = res; // Suppress unused warning.
7cda84dc
BK
72 }
73#endif
74
e521873c
GDR
75int main()
76{
02a65d23 77#if _GLIBCXX_USE_C99_MATH
7cda84dc 78 test_c99_classify<float>();
f5d8395b 79 test_c99_classify<double>();
7cda84dc 80#endif
e521873c
GDR
81 return 0;
82}