[Bug fortran/95614] ICE in build_field, at fortran/trans-common.c:301
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Sep 27 16:30:39 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95614
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Mark Eggleston
<markeggleston@gcc.gnu.org>:
https://gcc.gnu.org/g:7a8c40bca889785fc4664e5e11c430e31d297696
commit r9-8942-g7a8c40bca889785fc4664e5e11c430e31d297696
Author: Mark Eggleston <markeggleston@gcc.gnu.org>
Date: Thu Jun 11 14:33:51 2020 +0100
Fortran : ICE in build_field PR95614
Local identifiers can not be the same as a module name. Original
patch by Steve Kargl resulted in name clashes between common block
names and local identifiers. A local identifier can be the same as
a global identier if that identifier represents a common. The patch
was modified to allow global identifiers that represent a common
block.
2020-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
Mark Eggleston <markeggleston@gcc.gnu.org>
gcc/fortran/
PR fortran/95614
* decl.c (gfc_get_common): Use gfc_match_common_name instead
of match_common_name.
* decl.c (gfc_bind_idents): Use gfc_match_common_name instead
of match_common_name.
* match.c : Rename match_common_name to gfc_match_common_name.
* match.c (gfc_match_common): Use gfc_match_common_name instead
of match_common_name.
* match.h : Rename match_common_name to gfc_match_common_name.
* resolve.c (resolve_common_vars): Check each symbol in a
common block has a global symbol. If there is a global symbol
issue an error if the symbol type is known as is not a common
block name.
2020-09-27 Mark Eggleston <markeggleston@gcc.gnu.org>
gcc/testsuite/
PR fortran/95614
* gfortran.dg/pr95614_1.f90: New test.
* gfortran.dg/pr95614_2.f90: New test.
(cherry picked from commit e5a76af3a2f3324efc60b4b2778ffb29d5c377bc)
More information about the Gcc-bugs
mailing list