re PR fortran/78297 (ICE in finish_equivalences, at fortran/trans-common.c:1246)

2016-11-23  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78297
	* trans-common.c (finish_equivalences): Do not dereference a NULL pointer.

2016-11-23  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78297
	* gfortran.dg/pr78297.f90: New test.

From-SVN: r242802
This commit is contained in:
Steven G. Kargl 2016-11-23 21:44:05 +00:00
parent 15a3cdd8b0
commit 91c9fb42c0
4 changed files with 27 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2016-11-23 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/78297
* trans-common.c (finish_equivalences): Do not dereference a NULL pointer.
2016-11-23 Martin Jambor <mjambor@suse.cz>
* f95-lang.c (DEF_HSA_BUILTIN): New macro.

View File

@ -1246,8 +1246,12 @@ finish_equivalences (gfc_namespace *ns)
{
c = gfc_get_common_head ();
/* We've lost the real location, so use the location of the
enclosing procedure. */
c->where = ns->proc_name->declared_at;
enclosing procedure. If we're in a BLOCK DATA block, then
use the location in the sym_root. */
if (ns->proc_name)
c->where = ns->proc_name->declared_at;
else if (ns->is_block_data)
c->where = ns->sym_root->n.sym->declared_at;
strcpy (c->name, z->module);
}
else

View File

@ -1,3 +1,8 @@
2016-11-23 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/78297
* gfortran.dg/pr78297.f90: New test.
2016-11-23 David Edelsohn <dje.gcc@gmail.com>
* gcc.target/powerpc/builtins-3.c: Add -maltivec and -mvsx options.

View File

@ -0,0 +1,11 @@
! { dg-do compile }
module m
real :: a(2), b(2)
real :: c(2), d(2)
equivalence (a, b)
equivalence (c, d)
common /xcom/ a
end
block data
use m
end block data