Fortran: keep values of IEEE_CLASS_TYPE in sync

Fortran 2018 added some synonyms to the existing values, namely
IEEE_NEGATIVE_SUBNORMAL (which is the same as IEEE_NEGATIVE_DENORMAL)
and IEEE_POSITIVE_SUBNORMAL (same as IEEE_POSITIVE_DENORMAL). When they
were added to the C side, they were not kept in sync with the Fortran
part of the library. Thew new values are not used (yet), so it is
currently harmless, but better fix it.

libgfortran/ChangeLog:

	* ieee/ieee_helper.c: Fix enum values.
This commit is contained in:
Francois-Xavier Coudert 2021-12-29 21:32:57 +01:00
parent 05edf6c470
commit ade9130f50
1 changed files with 16 additions and 5 deletions

View File

@ -47,11 +47,22 @@ internal_proto(ieee_class_helper_16);
correspond to the hidden arguments of the IEEE_CLASS_TYPE
derived-type of IEEE_ARITHMETIC. */
enum { IEEE_OTHER_VALUE = 0, IEEE_SIGNALING_NAN, IEEE_QUIET_NAN,
IEEE_NEGATIVE_INF, IEEE_NEGATIVE_NORMAL, IEEE_NEGATIVE_DENORMAL,
IEEE_NEGATIVE_ZERO, IEEE_POSITIVE_ZERO, IEEE_POSITIVE_DENORMAL,
IEEE_POSITIVE_NORMAL, IEEE_POSITIVE_INF, IEEE_SUBNORMAL,
IEEE_NEGATIVE_SUBNORMAL, IEEE_POSITIVE_SUBNORMAL };
enum {
IEEE_OTHER_VALUE = 0,
IEEE_SIGNALING_NAN,
IEEE_QUIET_NAN,
IEEE_NEGATIVE_INF,
IEEE_NEGATIVE_NORMAL,
IEEE_NEGATIVE_DENORMAL,
IEEE_NEGATIVE_SUBNORMAL = IEEE_NEGATIVE_DENORMAL,
IEEE_NEGATIVE_ZERO,
IEEE_POSITIVE_ZERO,
IEEE_POSITIVE_DENORMAL,
IEEE_POSITIVE_SUBNORMAL = IEEE_POSITIVE_DENORMAL,
IEEE_POSITIVE_NORMAL,
IEEE_POSITIVE_INF
};
#define CLASSMACRO(TYPE) \
int ieee_class_helper_ ## TYPE (GFC_REAL_ ## TYPE *value) \