[Patch, Fortran] Fix DECL of namelist I/O function; fix FINALIZATION
Tobias Burnus
burnus@net-b.de
Fri Aug 15 22:10:00 GMT 2014
This patch fixes two minor issues
a) The argument issue mentioned in
https://gcc.gnu.org/ml/fortran/2014-08/msg00007.html
The main issue is that the decl uses "void" as argument; the FE passes
IARG() alias gfc_array_index_type while the library expects a
GFC_INTEGER_4. As n_dim and ts->kind are small, I have chosen to keep
GFC_INTEGER_4 in the library and use int32_t for the argument and in the
decl.
b) resolve_finalizer calls at the end the function, which obtains the
vtab, which in turns calls the vtab function of the parent, which tries
to generate the _final entry, which requires that the finalizers are
resolved. In the test case, the parent's finalizer wasn't ready, leading
to an ICE in an assert. The patch now first resolves the parent's
finalizers before taking care of its own.
Build and regtested on x86-64-gnu-linux.
OK for the trunk?
Tobias
-------------- next part --------------
A non-text attachment was scrubbed...
Name: io.diff
Type: text/x-patch
Size: 1945 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20140815/5f305e3c/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: final.diff
Type: text/x-patch
Size: 1446 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20140815/5f305e3c/attachment-0001.bin>
More information about the Fortran
mailing list