1!===-- module/ieee_features.f90 --------------------------------------------===!
2!
3! Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4! See https://llvm.org/LICENSE.txt for license information.
5! SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6!
7!===------------------------------------------------------------------------===!
8
9! See Fortran 2018, clause 17.2
10
11module ieee_features
12
13  type :: ieee_features_type
14    private
15    integer(kind=1) :: feature = 0
16  end type ieee_features_type
17
18  type(ieee_features_type), parameter :: &
19    ieee_datatype = ieee_features_type(1), &
20    ieee_denormal = ieee_features_type(2), &
21    ieee_divide = ieee_features_type(3), &
22    ieee_halting = ieee_features_type(4), &
23    ieee_inexact_flag = ieee_features_type(5), &
24    ieee_inf = ieee_features_type(6), &
25    ieee_invalid_flag = ieee_features_type(7), &
26    ieee_nan = ieee_features_type(8), &
27    ieee_rounding = ieee_features_type(9), &
28    ieee_sqrt = ieee_features_type(10), &
29    ieee_subnormal = ieee_features_type(11), &
30    ieee_underflow_flag = ieee_features_type(12)
31
32end module ieee_features
33