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:
parent
15a3cdd8b0
commit
91c9fb42c0
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
Loading…
Reference in New Issue