Hi Thomas,

This reminds me of project that I once started to translate fortran
into C using a similar option. I gave up in the end because I found it
more convenient to use a tree dump and modify the declarations by
hand. In respect of your query about suggestions, how about outputting
non_interop array descriptors?

Anyway, it looks good to me - OK for trunk.

Thanks

Paul


On 1 August 2017 at 16:08, Thomas Koenig <tkoe...@netcologne.de> wrote:
> Hello world,
>
> here is a slight update on the patch, with the following changes:
>
> Fixed one ICE (yes, there was one)
>
> Added a bit to the documentation to recommend to edit
> function pointers
>
> Translates c_size_t into ssize_t now - we only have a signed
> type, unsigned makes little sense.
>
>
> OK for trunk?
>
> Regards
>
>         Thomas
>
>> 2017-07-28  Thomas Koenig <tkoe...@gcc.gnu.org>
>>
>>          PR fortran/45435
>>          * lang.opt (fc-prototypes): Add option.
>>          * gfortran.h (gfc_typespec): Add interop_kind to struct.
>>          (gfc_dump_c_prototypes): Add prototype.
>>          * decl.c (gfc_match_kind_spec): Copy symbol used for kind to
>> typespec.
>>          * parse.c (gfc_parse_file): Call gfc_dump_prototypes.
>>          * dump-parse-tree.c (gfc_dump_c_prototypes): New function.
>>          (type_return): New enum.
>>          (get_c_type_name): New function.
>>          (write_decl): New function.
>>          (write_type): New function.
>>          (write_variable): New function.
>>          (write_proc): New function.
>>          (write_interop_decl): New function.
>>          * invoke.texi: Document -fc-prototypes.
>
>



-- 
"If you can't explain it simply, you don't understand it well enough"
- Albert Einstein

Reply via email to