* [Bug fortran/33733] ICEs in simplify_transfer
2007-10-11 5:23 [Bug fortran/33733] New: ICEs in simplify_transfer pault at gcc dot gnu dot org
@ 2007-10-11 10:53 ` pault at gcc dot gnu dot org
2007-10-11 13:53 ` dominiq at lps dot ens dot fr
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-10-11 10:53 UTC (permalink / raw)
To: gcc-bugs
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1292 bytes --]
------- Comment #1 from pault at gcc dot gnu dot org 2007-10-11 10:53 -------
This fixes it.
Index: gcc/fortran/simplify.c
===================================================================
*** gcc/fortran/simplify.c (révision 129121)
--- gcc/fortran/simplify.c (copie de travail)
*************** gfc_simplify_transfer (gfc_expr *source,
*** 4011,4016 ****
--- 4011,4020 ----
|| !gfc_is_constant_expr (size))
return NULL;
+ if (source->expr_type != EXPR_ARRAY
+ && source->expr_type != EXPR_CONSTANT)
+ return NULL;
+
/* Calculate the size of the source. */
if (source->expr_type == EXPR_ARRAY
&& gfc_array_size (source, &tmp) == FAILURE)
Paul
--
pault at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |pault at gcc dot gnu dot org
|dot org |
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2007-10-11 10:53:24
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33733
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33733] ICEs in simplify_transfer
2007-10-11 5:23 [Bug fortran/33733] New: ICEs in simplify_transfer pault at gcc dot gnu dot org
2007-10-11 10:53 ` [Bug fortran/33733] " pault at gcc dot gnu dot org
@ 2007-10-11 13:53 ` dominiq at lps dot ens dot fr
2007-10-11 14:14 ` dominiq at lps dot ens dot fr
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: dominiq at lps dot ens dot fr @ 2007-10-11 13:53 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from dominiq at lps dot ens dot fr 2007-10-11 13:53 -------
The patch fixes the tests but resurect an old ICE on (was pr18769):
program gfcbug21
implicit none
type t
integer :: i
end type t
type (t), parameter :: u = t (1)
integer, parameter :: idx_list(1) = (/ 1 /)
! gfortran dies here:
integer :: j(1) = transfer (u, idx_list)
print *, j
end program gfcbug21
pr18769.f90: In function 'MAIN__':
pr18769.f90:1: internal compiler error: in gfc_conv_array_initializer, at
fortran/trans-array.c:3816
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33733
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33733] ICEs in simplify_transfer
2007-10-11 5:23 [Bug fortran/33733] New: ICEs in simplify_transfer pault at gcc dot gnu dot org
2007-10-11 10:53 ` [Bug fortran/33733] " pault at gcc dot gnu dot org
2007-10-11 13:53 ` dominiq at lps dot ens dot fr
@ 2007-10-11 14:14 ` dominiq at lps dot ens dot fr
2007-10-11 17:17 ` pault at gcc dot gnu dot org
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: dominiq at lps dot ens dot fr @ 2007-10-11 14:14 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from dominiq at lps dot ens dot fr 2007-10-11 14:14 -------
I don't know if this the right fix, but
--- /opt/gcc/_gcc-clean/gcc/fortran/simplify.c 2007-10-07 09:37:46.000000000
+0200
+++ /opt/gcc/gcc-4.3-work/gcc/fortran/simplify.c 2007-10-11
16:05:57.000000000 +0200
@@ -4011,6 +4011,11 @@
|| !gfc_is_constant_expr (size))
return NULL;
+ if (source->expr_type != EXPR_ARRAY
+ && source->expr_type != EXPR_STRUCTURE
+ && source->expr_type != EXPR_CONSTANT)
+ return NULL;
+
/* Calculate the size of the source. */
if (source->expr_type == EXPR_ARRAY
&& gfc_array_size (source, &tmp) == FAILURE)
fixes this problem.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33733
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33733] ICEs in simplify_transfer
2007-10-11 5:23 [Bug fortran/33733] New: ICEs in simplify_transfer pault at gcc dot gnu dot org
` (2 preceding siblings ...)
2007-10-11 14:14 ` dominiq at lps dot ens dot fr
@ 2007-10-11 17:17 ` pault at gcc dot gnu dot org
2007-10-11 17:32 ` dominiq at lps dot ens dot fr
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-10-11 17:17 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from pault at gcc dot gnu dot org 2007-10-11 17:17 -------
(In reply to comment #3)
Dominique,
Oui, c'est bon! Merci.
Paul
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33733
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33733] ICEs in simplify_transfer
2007-10-11 5:23 [Bug fortran/33733] New: ICEs in simplify_transfer pault at gcc dot gnu dot org
` (3 preceding siblings ...)
2007-10-11 17:17 ` pault at gcc dot gnu dot org
@ 2007-10-11 17:32 ` dominiq at lps dot ens dot fr
2007-10-11 19:10 ` pault at gcc dot gnu dot org
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: dominiq at lps dot ens dot fr @ 2007-10-11 17:32 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from dominiq at lps dot ens dot fr 2007-10-11 17:31 -------
> Oui, c'est bon! Merci.
Question: is this the only omission?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33733
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33733] ICEs in simplify_transfer
2007-10-11 5:23 [Bug fortran/33733] New: ICEs in simplify_transfer pault at gcc dot gnu dot org
` (4 preceding siblings ...)
2007-10-11 17:32 ` dominiq at lps dot ens dot fr
@ 2007-10-11 19:10 ` pault at gcc dot gnu dot org
2007-10-12 4:49 ` pault at gcc dot gnu dot org
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-10-11 19:10 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from pault at gcc dot gnu dot org 2007-10-11 19:10 -------
(In reply to comment #3)
Dominique,
Oui, c'est bon! Merci.
Paul
(In reply to comment #5)
> > Oui, c'est bon! Merci.
>
> Question: is this the only omission?
>
I think so - most important is that EXPR_FUNCTION and EXPR_VARIABLE do not get
through. I think that EXPR_NULL would be rather bad too!
Paul
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33733
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33733] ICEs in simplify_transfer
2007-10-11 5:23 [Bug fortran/33733] New: ICEs in simplify_transfer pault at gcc dot gnu dot org
` (5 preceding siblings ...)
2007-10-11 19:10 ` pault at gcc dot gnu dot org
@ 2007-10-12 4:49 ` pault at gcc dot gnu dot org
2007-10-12 6:58 ` dominiq at lps dot ens dot fr
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-10-12 4:49 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from pault at gcc dot gnu dot org 2007-10-12 04:49 -------
(In reply to comment #6)
Better still is
if (source->expr_type == EXPR_FUNCTION)
return NULL;
since source is already tested to be a constant expression.
Paul
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33733
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33733] ICEs in simplify_transfer
2007-10-11 5:23 [Bug fortran/33733] New: ICEs in simplify_transfer pault at gcc dot gnu dot org
` (6 preceding siblings ...)
2007-10-12 4:49 ` pault at gcc dot gnu dot org
@ 2007-10-12 6:58 ` dominiq at lps dot ens dot fr
2007-10-15 1:06 ` patchapp at dberlin dot org
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: dominiq at lps dot ens dot fr @ 2007-10-12 6:58 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from dominiq at lps dot ens dot fr 2007-10-12 06:58 -------
It works for my tests, so the simpler the better.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33733
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33733] ICEs in simplify_transfer
2007-10-11 5:23 [Bug fortran/33733] New: ICEs in simplify_transfer pault at gcc dot gnu dot org
` (7 preceding siblings ...)
2007-10-12 6:58 ` dominiq at lps dot ens dot fr
@ 2007-10-15 1:06 ` patchapp at dberlin dot org
2007-10-15 1:07 ` patchapp at dberlin dot org
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: patchapp at dberlin dot org @ 2007-10-15 1:06 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from patchapp at dberlin dot org 2007-10-15 01:06 -------
Subject: Bug number PR33733
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-10/msg00751.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33733
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33733] ICEs in simplify_transfer
2007-10-11 5:23 [Bug fortran/33733] New: ICEs in simplify_transfer pault at gcc dot gnu dot org
` (8 preceding siblings ...)
2007-10-15 1:06 ` patchapp at dberlin dot org
@ 2007-10-15 1:07 ` patchapp at dberlin dot org
2007-10-18 12:44 ` pault at gcc dot gnu dot org
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: patchapp at dberlin dot org @ 2007-10-15 1:07 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from patchapp at dberlin dot org 2007-10-15 01:07 -------
Subject: Bug number PR33733
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-10/msg00751.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33733
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33733] ICEs in simplify_transfer
2007-10-11 5:23 [Bug fortran/33733] New: ICEs in simplify_transfer pault at gcc dot gnu dot org
` (9 preceding siblings ...)
2007-10-15 1:07 ` patchapp at dberlin dot org
@ 2007-10-18 12:44 ` pault at gcc dot gnu dot org
2007-10-18 12:45 ` pault at gcc dot gnu dot org
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-10-18 12:44 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from pault at gcc dot gnu dot org 2007-10-18 12:44 -------
Subject: Bug 33733
Author: pault
Date: Thu Oct 18 12:44:03 2007
New Revision: 129435
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129435
Log:
2007-10-18 Paul Thomas <pault@gcc.gnu.org>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/33733
* simplify.c (gfc_simplify_transfer): Return null if the source
expression is EXPR_FUNCTION.
2007-10-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33733
* gfortran.dg/transfer_simplify_6.f90: New test.
Added:
trunk/gcc/testsuite/gfortran.dg/transfer_simplify_6.f90
Modified:
trunk/gcc/fortran/simplify.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33733
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33733] ICEs in simplify_transfer
2007-10-11 5:23 [Bug fortran/33733] New: ICEs in simplify_transfer pault at gcc dot gnu dot org
` (10 preceding siblings ...)
2007-10-18 12:44 ` pault at gcc dot gnu dot org
@ 2007-10-18 12:45 ` pault at gcc dot gnu dot org
2007-10-18 13:53 ` pault at gcc dot gnu dot org
2007-12-03 4:12 ` pinskia at gcc dot gnu dot org
13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-10-18 12:45 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from pault at gcc dot gnu dot org 2007-10-18 12:45 -------
Subject: Bug 33733
Author: pault
Date: Thu Oct 18 12:44:57 2007
New Revision: 129436
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129436
Log:
2007-10-18 Paul Thomas <pault@gcc.gnu.org>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/33733
* simplify.c (gfc_simplify_transfer): Return null if the source
expression is EXPR_FUNCTION.
2007-10-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33733
* gfortran.dg/transfer_simplify_6.f90: New test.
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33733
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33733] ICEs in simplify_transfer
2007-10-11 5:23 [Bug fortran/33733] New: ICEs in simplify_transfer pault at gcc dot gnu dot org
` (11 preceding siblings ...)
2007-10-18 12:45 ` pault at gcc dot gnu dot org
@ 2007-10-18 13:53 ` pault at gcc dot gnu dot org
2007-12-03 4:12 ` pinskia at gcc dot gnu dot org
13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-10-18 13:53 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from pault at gcc dot gnu dot org 2007-10-18 13:53 -------
Fixed on trunk
Paul
--
pault at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33733
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33733] ICEs in simplify_transfer
2007-10-11 5:23 [Bug fortran/33733] New: ICEs in simplify_transfer pault at gcc dot gnu dot org
` (12 preceding siblings ...)
2007-10-18 13:53 ` pault at gcc dot gnu dot org
@ 2007-12-03 4:12 ` pinskia at gcc dot gnu dot org
13 siblings, 0 replies; 15+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-12-03 4:12 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.3.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33733
^ permalink raw reply [flat|nested] 15+ messages in thread