diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2017-08-01 17:59:11 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2017-08-01 17:59:11 +0000 |
commit | e655a6cc43e880b291b726394c1c6be6db461e89 (patch) | |
tree | ae5f1937db6ee534a99d8620aff5982d4785e186 /gcc/fortran/parse.c | |
parent | 5cada901b548a5b02e18fe5d5d074c5d100a406d (diff) | |
download | gcc-e655a6cc43e880b291b726394c1c6be6db461e89.zip gcc-e655a6cc43e880b291b726394c1c6be6db461e89.tar.gz gcc-e655a6cc43e880b291b726394c1c6be6db461e89.tar.bz2 |
re PR fortran/45435 (Automatically generate C interop interface blocks from C code)
2017-08-01 Thomas Koenig <tkoenig@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.
From-SVN: r250791
Diffstat (limited to 'gcc/fortran/parse.c')
-rw-r--r-- | gcc/fortran/parse.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index 305a036..9ac50f0 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -6218,6 +6218,9 @@ loop: if (flag_dump_fortran_original) gfc_dump_parse_tree (gfc_current_ns, stdout); + if (flag_c_prototypes) + gfc_dump_c_prototypes (gfc_current_ns, stdout); + gfc_get_errors (NULL, &errors); if (s.state == COMP_MODULE || s.state == COMP_SUBMODULE) { |