diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 890a099afa2..c0f12e61738 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2009-04-08 Jakub Jelinek + + * trans-types.c (gfc_init_types): Ensure gfc_integer_types doesn't + contain TYPE_STRING_FLAG types. + 2009-04-08 Janne Blomqvist PR fortran/39670 diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c index 717859c5360..7cb33634604 100644 --- a/gcc/fortran/trans-types.c +++ b/gcc/fortran/trans-types.c @@ -721,6 +721,9 @@ gfc_init_types (void) for (index = 0; gfc_integer_kinds[index].kind != 0; ++index) { type = gfc_build_int_type (&gfc_integer_kinds[index]); + /* Ensure integer(kind=1) doesn't have TYPE_STRING_FLAG set. */ + if (TYPE_STRING_FLAG (type)) + type = make_signed_type (gfc_integer_kinds[index].bit_size); gfc_integer_types[index] = type; snprintf (name_buf, sizeof(name_buf), "integer(kind=%d)", gfc_integer_kinds[index].kind);