2018-03-08 Richard Biener <rguenther@suse.de>
[official-gcc.git] / libgfortran / ieee / ieee_features.F90
blobd5aec3bca1e6b0ca9ad819c6e65b3d17503bc907
1 !    Implementation of the IEEE_FEATURES standard intrinsic module
2 !    Copyright (C) 2013-2018 Free Software Foundation, Inc.
3 !    Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4
5 ! This file is part of the GNU Fortran runtime library (libgfortran).
6
7 ! Libgfortran is free software; you can redistribute it and/or
8 ! modify it under the terms of the GNU General Public
9 ! License as published by the Free Software Foundation; either
10 ! version 3 of the License, or (at your option) any later version.
11
12 ! Libgfortran is distributed in the hope that it will be useful,
13 ! but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 ! GNU General Public License for more details.
16
17 ! Under Section 7 of GPL version 3, you are granted additional
18 ! permissions described in the GCC Runtime Library Exception, version
19 ! 3.1, as published by the Free Software Foundation.
20
21 ! You should have received a copy of the GNU General Public License and
22 ! a copy of the GCC Runtime Library Exception along with this program;
23 ! see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
24 ! <http://www.gnu.org/licenses/>.  */
26 module IEEE_FEATURES
28   implicit none
29   private
31   type, public :: IEEE_FEATURES_TYPE
32     private
33     integer :: hidden
34   end type
36   type(IEEE_FEATURES_TYPE), parameter, public :: &
37     IEEE_DATATYPE       = IEEE_FEATURES_TYPE(0), &
38     IEEE_DENORMAL       = IEEE_FEATURES_TYPE(1), &
39     IEEE_DIVIDE         = IEEE_FEATURES_TYPE(2), &
40     IEEE_HALTING        = IEEE_FEATURES_TYPE(3), &
41     IEEE_INEXACT_FLAG   = IEEE_FEATURES_TYPE(4), &
42     IEEE_INF            = IEEE_FEATURES_TYPE(5), &
43     IEEE_INVALID_FLAG   = IEEE_FEATURES_TYPE(6), &
44     IEEE_NAN            = IEEE_FEATURES_TYPE(7), &
45     IEEE_ROUNDING       = IEEE_FEATURES_TYPE(8), &
46     IEEE_SQRT           = IEEE_FEATURES_TYPE(9), &
47     IEEE_UNDERFLOW_FLAG = IEEE_FEATURES_TYPE(10)
49 end module IEEE_FEATURES