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