1/* Fallback FPU-related code (for systems not otherwise supported).
2   Copyright (C) 2005-2020 Free Software Foundation, Inc.
3   Contributed by Francois-Xavier Coudert <coudert@clipper.ens.fr>
4
5This file is part of the GNU Fortran runtime library (libgfortran).
6
7Libgfortran is free software; you can redistribute it and/or
8modify it under the terms of the GNU General Public
9License as published by the Free Software Foundation; either
10version 3 of the License, or (at your option) any later version.
11
12Libgfortran is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15GNU General Public License for more details.
16
17Under Section 7 of GPL version 3, you are granted additional
18permissions described in the GCC Runtime Library Exception, version
193.1, as published by the Free Software Foundation.
20
21You should have received a copy of the GNU General Public License and
22a copy of the GCC Runtime Library Exception along with this program;
23see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
24<http://www.gnu.org/licenses/>.  */
25
26
27/* Fallback FPU-related code for systems not otherwise supported. This
28   is mainly telling the user that we will not be able to do what he
29   requested.  */
30
31void
32set_fpu (void)
33{
34  if (options.fpe & GFC_FPE_INVALID)
35    estr_write ("Fortran runtime warning: IEEE 'invalid operation' "
36	        "exception not supported.\n");
37  if (options.fpe & GFC_FPE_DENORMAL)
38    estr_write ("Fortran runtime warning: Floating point 'denormal operand' "
39	        "exception not supported.\n");
40  if (options.fpe & GFC_FPE_ZERO)
41    estr_write ("Fortran runtime warning: IEEE 'division by zero' "
42	        "exception not supported.\n");
43  if (options.fpe & GFC_FPE_OVERFLOW)
44    estr_write ("Fortran runtime warning: IEEE 'overflow' "
45	        "exception not supported.\n");
46  if (options.fpe & GFC_FPE_UNDERFLOW)
47    estr_write ("Fortran runtime warning: IEEE 'underflow' "
48	        "exception not supported.\n");
49  if (options.fpe & GFC_FPE_INEXACT)
50    estr_write ("Fortran runtime warning: IEEE 'inexact' "
51	        "exception not supported.\n");
52}
53
54void
55set_fpu_trap_exceptions (int trap __attribute__((unused)),
56			 int notrap __attribute__((unused)))
57{
58}
59
60int
61get_fpu_except_flags (void)
62{
63  return 0;
64}
65
66
67int
68get_fpu_rounding_mode (void)
69{
70  return 0;
71}
72
73
74void
75set_fpu_rounding_mode (int round __attribute__((unused)))
76{
77}
78
79
80int
81support_fpu_underflow_control (int kind __attribute__((unused)))
82{
83  return 0;
84}
85
86
87int
88get_fpu_underflow_mode (void)
89{
90  return 0;
91}
92
93
94void
95set_fpu_underflow_mode (int gradual __attribute__((unused)))
96{
97}
98
99