--- Comment #1 from ian_harvey at bigpond dot com 2010-01-19 14:06 ---
Created an attachment (id=19655)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19655action=view)
Source code that demonstrates the ICE
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42804
--- Comment #2 from burnus at gcc dot gnu dot org 2010-01-19 15:41 ---
Confirm. Backtrace:
Program received signal SIGSEGV, Segmentation fault.
0x0053e011 in gfc_trans_runtime_error_vararg (error=value optimized
out, where=0x13ea980,
msgid=0x13ea3f0 Index '%ld' of dimension
--- Comment #3 from burnus at gcc dot gnu dot org 2010-01-19 15:56 ---
The problem is that e(xpr)-where-lb == NULL. The flow is:
gfc_conv_procedure_call - gfc_conv_derived_to_class - gfc_conv_expr_reference
- gfc_conv_variable etc.
I wonder whether the problem is that the CLASS struct
--- Comment #4 from janus at gcc dot gnu dot org 2010-01-19 16:35 ---
If one replaces the TBP call by a direct call to the subroutine, like this:
call a_proc(arr(i),ierr)
then the ICE goes away (of course a_proc must be public for this to work). This
means it is not a problem of the
--- Comment #5 from janus at gcc dot gnu dot org 2010-01-19 16:39 ---
Another observation: If I remove the CLASS argument, give the procedure the
NOPASS attribute and call it like this, the ICE also goes away.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42804
--- Comment #6 from janus at gcc dot gnu dot org 2010-01-19 17:11 ---
(In reply to comment #3)
The problem is that e(xpr)-where-lb == NULL.
Exactly. What's important is that the expression e here is the passed-object
argument.
Now the problem really is that when we construct this
--- Comment #7 from janus at gcc dot gnu dot org 2010-01-19 17:24 ---
We probably have the same trouble with procedure pointer components, which can
also have passed-object arguments.
However, when trying to construct an analogous PPC test case, I came across
another bug. Here is the
--- Comment #8 from janus at gcc dot gnu dot org 2010-01-19 17:46 ---
Here is the fix for PPCs, curing both the must be scalar error from the last
comment as well as the missing-locus ICE (which, as expected, did appear also
for PPCs after the other thing was fixed):
Index:
--- Comment #9 from janus at gcc dot gnu dot org 2010-01-19 22:21 ---
Subject: Bug 42804
Author: janus
Date: Tue Jan 19 22:21:35 2010
New Revision: 156049
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=156049
Log:
gcc/fortran/
2010-01-19 Janus Weil ja...@gcc.gnu.org
PR
--- Comment #10 from janus at gcc dot gnu dot org 2010-01-19 22:23 ---
Fixed with r156049. Closing.
Thanks for the report!
--
janus at gcc dot gnu dot org changed:
What|Removed |Added
10 matches
Mail list logo