https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117643
--- Comment #22 from anlauf at gcc dot gnu.org --- (In reply to anlauf from comment #21) > diff --git a/gcc/fortran/iresolve.cc b/gcc/fortran/iresolve.cc > index 580f8c8407d..759eb99a645 100644 > --- a/gcc/fortran/iresolve.cc > +++ b/gcc/fortran/iresolve.cc > @@ -3192,6 +3200,7 @@ gfc_resolve_trim (gfc_expr *f, gfc_expr *string) > { > f->ts.type = BT_CHARACTER; > f->ts.kind = string->ts.kind; > + f->ts.is_c_interop = string->ts.is_c_interop; > f->value.function.name = gfc_get_string ("__trim_%d", string->ts.kind); > } This regtests OK but I am somewhat hesitant to propose to use it. There are likely too many potential issues with default character vs. C_CHAR...