[gfortran] Fix PR15481 and related bugs

Tobias Schlüter tobias.schlueter@physik.uni-muenchen.de
Fri Jul 9 14:26:00 GMT 2004


This was surprisingly easily, after I had looked at what's really
happening. We avoid emitting the spurious symbol in gfc_match_rvalue by
explicitly checking if we're matching a function call where the first
argument is a keyword argument, and skip the array detection if that's
the case. With this fix in place, I could turn on the issuing of errors
in resolve_symbol when implicitly typing variables and remove several
workarounds. The diff to primary.c looks bigger than it is because of
the changed identation.

Compiled and tested on i686-pc-linux, with no failures besides the
intrinsic_nearest issue discussed before. I will add compile testcases
from the PRs to the testsuite, and once we have a fully functional dg
testsuite I will also add a testcase (or if I find more, several
testcases) which now give the correct errors.

- Tobi

2004-07-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>

	PR fortran/15481
	PR fortran/13372
	PR fortran/13575
	PR fortran/15978
	* module.c (write_symbol, write_symtree): Remove workaround.
	* primary.c (match_actual_arglist): Enhance comment.
	(gfc_match_rvalue): Handle function call with first argument
	a keyword argument correctly.
	* resolve.c (resolve_symbol): Change call to
	gfc_set_default_type to issue error if no implicit type
	can be found.
	* trans-decl.c (gfc_create_module_variable): Remove workaround.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 15481patch
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20040709/f736584a/attachment.ksh>


More information about the Fortran mailing list