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.

Reply via email to