Am 09.01.25 um 14:36 schrieb Thomas Koenig:
Am 09.01.25 um 14:34 schrieb Thomas Koenig:
This patch fixes and reorganizes dumping C prototypes.

And here is the "five seconds later, I realized I had forgotten
to attach the patch" e-mail...

... with the original text:

Hello world,

This patch fixes and reorganizes dumping C prototypes.  It makes the
following changes:

    - BIND(C) types are now always output before any global symbols
    - CFI_cdesc_t is issued for assumed shape and assumed rank arguments.
    - BIND(C,NAME="...") entities were not always issued.

gcc/fortran/ChangeLog:

    PR fortran/118359
    * dump-parse-tree.cc (show_external_symbol): New function.
    (write_type): Add prototype, put in restrictions on what not to dump.
    (has_cfi_cdesc): New function.
    (need_iso_fortran_binding): New function.
    (gfc_dump_c_prototypes): Adjust to take only a file output.  Add
    "#include <ISO_Fortran_binding.h" if CFI_cdesc_t is found.
    Traverse global namespaces to dump types and the globalsymol list
    to dump external symbols.
    (gfc_dump_external_c_prototypes): Traverse global namespaces.
    (get_c_type_name): Handle CFI_cdesc_t.
    (write_proc): Also pass array spec to get_c_type_name.
    * gfortran.h (gfc_dump_c_prototypes): Adjust prototype.
    * parse.cc (gfc_parse_file): Adjust call to gfc_dump_c_prototypes.


Regression-tested.  As for testcases... as the dump is to
standard output, I don't know how to do that. If anybody
has an idea, please let me know.

OK for trunk?

Best regards

    Thomas

Reply via email to