--- Comment #15 from jvdelisle at gcc dot gnu dot org 2007-05-05 08:40
---
The problems is due to trying to match a prefix to a function declaration or a
variable declaration. Both code paths find the error. I have a tentative
patch. It might not be worth it. We will see after I
--- Comment #16 from patchapp at dberlin dot org 2007-05-05 19:45 ---
Subject: Bug number PR31251
A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2007-05/msg00298.html
--
--- Comment #17 from jvdelisle at gcc dot gnu dot org 2007-05-06 05:11
---
Subject: Bug 31251
Author: jvdelisle
Date: Sun May 6 04:10:53 2007
New Revision: 124469
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=124469
Log:
2007-05-05 Jerry DeLisle [EMAIL PROTECTED]
PR
--- Comment #18 from jvdelisle at gcc dot gnu dot org 2007-05-06 05:11
---
Fixed on 4.3
--
jvdelisle at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #10 from jvdelisle at gcc dot gnu dot org 2007-05-04 07:39
---
Comment #9 is a red herring. Using gdb and looking at this at line 2143:
mpz_set (result-value.integer, e-ts.cl-length-value.integer);
(gdb) p *e-ts.cl-length
$9 = {expr_type = EXPR_CONSTANT, ts = {type
--- Comment #11 from fxcoudert at gcc dot gnu dot org 2007-05-04 10:44
---
(In reply to comment #10)
Again, I am unable to really test this, but here is a suggestion
This patch fixes the ICE, and I agree it's the right thing to do.
I retested your other patch from scratch (the one
--- Comment #12 from fxcoudert at gcc dot gnu dot org 2007-05-04 12:10
---
Subject: Bug 31251
Author: fxcoudert
Date: Fri May 4 11:10:06 2007
New Revision: 124415
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=124415
Log:
PR fortran/31251
* simplify.c
--- Comment #13 from jvdelisle at gcc dot gnu dot org 2007-05-04 14:36
---
I noticed after applying the patch to simplify.c the double error problem
returned. I will continue on that part. Subtle things going on here. Side
effects. At least we have the segfault resolved.
--
--- Comment #14 from jvdelisle at gcc dot gnu dot org 2007-05-05 03:50
---
Now I have tracked that we have a duplicate expr in the cl_list so that we call
resolve_char_len twice, as the list is traversed in resolve_types. A quick fix
is to bail out of the loop if resolve_char_len
--- Comment #6 from fxcoudert at gcc dot gnu dot org 2007-05-03 15:49
---
(In reply to comment #5)
I am not able to reproduce a segfault. However, this patch eliminates the
double error message. Could someone verify that they still get a segfault
without this patch and then try
--- Comment #7 from jvdelisle at gcc dot gnu dot org 2007-05-04 03:27
---
Very odd. On rev 124344 on my old i686 FC5 box I did a bootstrap. This is
unmodified source from the svn and I get no segfault and just the double error.
This is what I see on x86-64 as reported above.
--
--- Comment #8 from kargl at gcc dot gnu dot org 2007-05-04 06:16 ---
This appears to be an alignment issue. On x86_64-*-FreeBSD, I do not
see the segfault. On i386-*-FreeBSD, I see the segfault. Here's is
the backtrace
Starting program:
--- Comment #9 from jvdelisle at gcc dot gnu dot org 2007-05-04 06:42
---
I think the problem may be in arith.c (gfc_constant_result). We are passing a
type real into this and so we do not mpz_init (result-value.integer);
Which we later try to set at simplify.c: 2143
mpz_set
--- Comment #4 from jvdelisle at gcc dot gnu dot org 2007-05-01 14:47
---
With IMPLICIT NONE the double code path goes away and we get just one correct
error message.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31251
--- Comment #5 from jvdelisle at gcc dot gnu dot org 2007-05-02 04:13
---
Created an attachment (id=13470)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13470action=view)
Possible patch for this problem
The double error comes from trying to match_type_spec for a variable
--- Comment #2 from jvdelisle at gcc dot gnu dot org 2007-04-29 23:41
---
I am not getting a segfault on this. Maybe it fixed itself? :)
[EMAIL PROTECTED] test]$ gfc pr31251.f90
pr31251.f90:1.16:
character(len=2.3) :: s
1
Error: Expression at (1) must be of INTEGER
--- Comment #3 from jvdelisle at gcc dot gnu dot org 2007-04-30 00:53
---
I see why we are getting two error messages. There is a recursive call going
on here, Probably not a good idea. I will see if I can sort this out.
--
jvdelisle at gcc dot gnu dot org changed:
--- Comment #1 from tobi at gcc dot gnu dot org 2007-04-07 17:05 ---
*** Bug 31414 has been marked as a duplicate of this bug. ***
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31251
--
fxcoudert at gcc dot gnu dot org changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Known
19 matches
Mail list logo