Use CHARACTER(kind) string for calculating the type hash.
This regression came about because of a change in the way
types are displayed in error messages. The character
representation is also used to calculate the hashes for
our types, so this patch restores the old behavior if
we are indeed calculating a hash.
The test case also checks for the specific hash value because
changing that would be an ABI change, which we should not
be doing unintentionally.
gcc/fortran/ChangeLog:
2020-06-30 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/95355
* gfortran.h (gfc_typename): Add optional argument for_hash.
* misc.c (gfc_typename): When for_hash is true, just retur
CHARACTER(kind).
* class.c (gfc_intrinsic_hash_value): Call gfc_typename with
for_hash = true.