Commit f11600c9 by Steven G. Kargl

re PR fortran/85001 (ICE in gfc_build_array_type, at fortran/trans-types.c:1420)

2018-03-20  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85001
	* interface.c (symbol_rank): Remove bogus null pointer check that
	crept in when translating a ternary operator into an if-else 
	constructor.

2018-03-20  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85001
	* gfortran.dg/interface_41.f90: New test.

From-SVN: r258698
parent 2ed0fd05
2018-03-20 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/85001
* interface.c (symbol_rank): Remove bogus null pointer check that
crept in when translating a ternary operator into an if-else
constructor.
2018-03-19 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/84931
......
......@@ -1268,7 +1268,7 @@ symbol_rank (gfc_symbol *sym)
{
gfc_array_spec *as = NULL;
if (sym->ts.type == BT_CLASS && CLASS_DATA (sym) && CLASS_DATA (sym)->as)
if (sym->ts.type == BT_CLASS && CLASS_DATA (sym))
as = CLASS_DATA (sym)->as;
else
as = sym->as;
......
2018-03-20 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/85001
* gfortran.dg/interface_41.f90: New test.
2018-03-20 Jakub Jelinek <jakub@redhat.com>
PR debug/84875
......
! { dg-do compile }
! PR fortran/85001
! Contributed by Gerhard Steinmetz.
program p
type t
end type
call s
contains
real function f(x)
class(t) :: x
dimension :: x(:)
f = 1.0
end
subroutine s
type(t) :: x(2)
real :: z
z = f(x) ! { dg-error "Rank mismatch in argument" }
end
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment