https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84073
--- Comment #3 from emsr at gcc dot gnu.org --- (In reply to Dominique d'Humieres from comment #1) > Withe the following change > > --- pr84073.f90 2018-01-26 22:48:32.000000000 +0100 > +++ pr84073_db.f90 2018-01-27 00:03:06.000000000 +0100 > @@ -13,10 +13,10 @@ module utderror > integer(c_int) :: nerrorloc > real(c_double) :: errorstartloc(3) > real(c_double) :: errorendloc(3) > - character(kind=c_char, len=41) :: errorsubsystem > - character(kind=c_char, len=9) :: errorseverity > + character(kind=c_char) :: errorsubsystem(41) > + character(kind=c_char) :: errorseverity(9) > integer(c_int) :: errorid > - character(kind=c_char, len=1001) :: errormessage > + character(kind=c_char) :: errormessage(1001) > end type > > type(utderror_t), bind(c), save :: utderror_v > > I get > > ... > char errorsubsystem[41]; > char errorseverity[9]; > int errorid; > char errormessage[1001]; > } utderror_t; > void add_utd_error (int *ierror); > extern utderror_t utderror_v; > > Possibly related to PR38506. Yes, I tries this. On the Fortran side, the arrays of character are not recognized as strings. You can't use // and len and such. I'll just do this one by hand until the new array descriptors are in. Thanks for the feature and the look anyway. I wonder if a -ffortran-interfaces from C/C++ would be of use to anyone.