public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/40413] New: Internal error in connection with optimization and allocatable objects
@ 2009-06-11 10:01 juergen dot reuter at desy dot de
2009-06-11 10:34 ` [Bug fortran/40413] " dominiq at lps dot ens dot fr
` (12 more replies)
0 siblings, 13 replies; 14+ messages in thread
From: juergen dot reuter at desy dot de @ 2009-06-11 10:01 UTC (permalink / raw)
To: gcc-bugs
The code below does compile with gfortran 4.5.0 without any specification or
with -O0, but generates an internal error when compiling with -O1, -O2, or -O3:
state_matrices.f90: In function 'polarization_copy':
state_matrices.f90:39:0: internal compiler error: in
load_assign_lhs_subreplacements, at tree-sra.c:1954
Please submit a full bug report,
with preprocessed source if appropriate.
The code compiles when using the version in comments, i.e. the usage of the
dummy variable state_dummy. The internal error is avoided also when commenting
out the line 38 with the state_matrix_copy function call. Removing the
multiplicity or the spin_type components also makes the code compile with
optimization.
module state_matrices
implicit none
private
public :: state_matrix_copy
public :: state_matrix_t
public :: matrix_element_t
type :: matrix_element_t
private
integer, dimension(:), allocatable :: f
end type matrix_element_t
type :: state_matrix_t
private
type(matrix_element_t), dimension(:), allocatable :: me
end type state_matrix_t
type :: polarization_t
logical :: polarized = .false.
integer :: spin_type = 0
integer :: multiplicity = 0
type(state_matrix_t) :: state
end type polarization_t
contains
function polarization_copy (pol_in) result (pol)
type(polarization_t) :: pol
type(polarization_t), intent(in) :: pol_in
!!! type(state_matrix_t) :: state_dummy
pol%polarized = pol_in%polarized
pol%spin_type = pol_in%spin_type
pol%multiplicity = pol_in%multiplicity
!!! state_dummy = state_matrix_copy (pol_in%state)
!!! pol%state = state_dummy
pol%state = state_matrix_copy (pol_in%state)
end function polarization_copy
function state_matrix_copy (state_in) result (state)
type(state_matrix_t) :: state
type(state_matrix_t), intent(in), target :: state_in
end function state_matrix_copy
end module state_matrices
--
Summary: Internal error in connection with optimization and
allocatable objects
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: juergen dot reuter at desy dot de
GCC build triplet: Build version svn v148346
GCC host triplet: MAC OS X Darwin and Linux x86
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug fortran/40413] Internal error in connection with optimization and allocatable objects
2009-06-11 10:01 [Bug fortran/40413] New: Internal error in connection with optimization and allocatable objects juergen dot reuter at desy dot de
@ 2009-06-11 10:34 ` dominiq at lps dot ens dot fr
2009-06-11 14:55 ` reuter at mail dot desy dot de
` (11 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: dominiq at lps dot ens dot fr @ 2009-06-11 10:34 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from dominiq at lps dot ens dot fr 2009-06-11 10:34 -------
Confirmed on i686-apple-darwin9. The ICE disappears with -m64 and it is a
regression: the code compiles with 4.4.0 and 4.4.1 without warning and with
4.2.3 and 4.3.3 with:
pr40413.f90: In function 'state_matrix_copy':
pr40413.f90:29: warning: Function return value not set
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug fortran/40413] Internal error in connection with optimization and allocatable objects
2009-06-11 10:01 [Bug fortran/40413] New: Internal error in connection with optimization and allocatable objects juergen dot reuter at desy dot de
2009-06-11 10:34 ` [Bug fortran/40413] " dominiq at lps dot ens dot fr
@ 2009-06-11 14:55 ` reuter at mail dot desy dot de
2009-06-11 15:23 ` dominiq at lps dot ens dot fr
` (10 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: reuter at mail dot desy dot de @ 2009-06-11 14:55 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from reuter at mail dot desy dot de 2009-06-11 14:54 -------
Subject: Re: Internal error in connection with optimization
and allocatable objects
On Thu, 11 Jun 2009, dominiq at lps dot ens dot fr wrote:
Salut, Dominiq!
I'm not so much of an export in the terminology. What exactly does
regression mean? The code compiled even with 4.5.0 and optimization up to
svn around v148080. The option -m64 does work. What exactly does it do?
Thanks in advance for you help!
Je suis desole pour non parler Francais!
Cheers,
Juergen
>
>
> ------- Comment #1 from dominiq at lps dot ens dot fr 2009-06-11 10:34 -------
> Confirmed on i686-apple-darwin9. The ICE disappears with -m64 and it is a
> regression: the code compiles with 4.4.0 and 4.4.1 without warning and with
> 4.2.3 and 4.3.3 with:
>
> pr40413.f90: In function 'state_matrix_copy':
> pr40413.f90:29: warning: Function return value not set
>
>
> --
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413
>
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.
>
------------------------------------
Juergen Reuter
Albrecht-Ludwigs-Universitaet Freiburg
Physikalisches Institut
Hermann-Herder-Str. 3
79104 Freiburg, GERMANY
Tel.: +49-761-203-8407
Skype: jr_reuter
------------------------------------
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug fortran/40413] Internal error in connection with optimization and allocatable objects
2009-06-11 10:01 [Bug fortran/40413] New: Internal error in connection with optimization and allocatable objects juergen dot reuter at desy dot de
2009-06-11 10:34 ` [Bug fortran/40413] " dominiq at lps dot ens dot fr
2009-06-11 14:55 ` reuter at mail dot desy dot de
@ 2009-06-11 15:23 ` dominiq at lps dot ens dot fr
2009-06-11 19:31 ` reuter at mail dot desy dot de
` (9 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: dominiq at lps dot ens dot fr @ 2009-06-11 15:23 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from dominiq at lps dot ens dot fr 2009-06-11 15:23 -------
> I'm not so much of an export in the terminology. What exactly does
> regression mean?
It means that a code worked at revision n (here 4.4.0) and no longer at
revision n+1 (here 4.5.0). This means that either something has been broken by
some change or a bug has been exposed by it. Since changes are supposed to
improve any piece of code, regressions have in general a higher priority than
other bugs, so it is important to mark them in the subject line (look at
http://gcc.gnu.org/ml/gcc-bugs/2009-06/ for examples). Since I don't have the
rights to change the subject line, you have to do it yourself or wait for some
maintainer to do it.
> The option -m64 does work. What exactly does it do?
It forces the compilation in "64 bit mode" while the default in Darwin is 32
bit. I don't know the detail of the differences besides the fact that the
addresses are coded on 64 bits instead of 32 and in general the code runs
faster (~10 to 20%) with -m64.
Note that I provided the information in the hope to help those who will fix the
bug, meanwhile you can use -m64 as a workaround.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug fortran/40413] Internal error in connection with optimization and allocatable objects
2009-06-11 10:01 [Bug fortran/40413] New: Internal error in connection with optimization and allocatable objects juergen dot reuter at desy dot de
` (2 preceding siblings ...)
2009-06-11 15:23 ` dominiq at lps dot ens dot fr
@ 2009-06-11 19:31 ` reuter at mail dot desy dot de
2009-06-11 21:47 ` dominiq at lps dot ens dot fr
` (8 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: reuter at mail dot desy dot de @ 2009-06-11 19:31 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from reuter at mail dot desy dot de 2009-06-11 19:31 -------
Subject: Re: Internal error in connection with optimization
and allocatable objects
On Thu, 11 Jun 2009, dominiq at lps dot ens dot fr wrote:
Thanks for the explanations. I actually cannot change the priority,
only the assignee or a specifically empowered user can change the status.
>
>
> ------- Comment #3 from dominiq at lps dot ens dot fr 2009-06-11 15:23 -------
>> I'm not so much of an export in the terminology. What exactly does
>> regression mean?
>
> It means that a code worked at revision n (here 4.4.0) and no longer at
> revision n+1 (here 4.5.0). This means that either something has been broken by
> some change or a bug has been exposed by it. Since changes are supposed to
> improve any piece of code, regressions have in general a higher priority than
> other bugs, so it is important to mark them in the subject line (look at
> http://gcc.gnu.org/ml/gcc-bugs/2009-06/ for examples). Since I don't have the
> rights to change the subject line, you have to do it yourself or wait for some
> maintainer to do it.
>
>> The option -m64 does work. What exactly does it do?
>
> It forces the compilation in "64 bit mode" while the default in Darwin is 32
> bit. I don't know the detail of the differences besides the fact that the
> addresses are coded on 64 bits instead of 32 and in general the code runs
> faster (~10 to 20%) with -m64.
>
> Note that I provided the information in the hope to help those who will fix the
> bug, meanwhile you can use -m64 as a workaround.
>
>
> --
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413
>
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.
>
------------------------------------
Juergen Reuter
Albrecht-Ludwigs-Universitaet Freiburg
Physikalisches Institut
Hermann-Herder-Str. 3
79104 Freiburg, GERMANY
Tel.: +49-761-203-8407
Skype: jr_reuter
------------------------------------
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug fortran/40413] Internal error in connection with optimization and allocatable objects
2009-06-11 10:01 [Bug fortran/40413] New: Internal error in connection with optimization and allocatable objects juergen dot reuter at desy dot de
` (3 preceding siblings ...)
2009-06-11 19:31 ` reuter at mail dot desy dot de
@ 2009-06-11 21:47 ` dominiq at lps dot ens dot fr
2009-06-12 5:21 ` [Bug fortran/40413] [4.5 Regression] " pault at gcc dot gnu dot org
` (7 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: dominiq at lps dot ens dot fr @ 2009-06-11 21:47 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from dominiq at lps dot ens dot fr 2009-06-11 21:47 -------
The test compiles with 4.5.0 revision 147438.
> I actually cannot change the priority
You don't have to change the priority, just add "[4.5 Regression]" at the
beginning of the subject line.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug fortran/40413] [4.5 Regression] Internal error in connection with optimization and allocatable objects
2009-06-11 10:01 [Bug fortran/40413] New: Internal error in connection with optimization and allocatable objects juergen dot reuter at desy dot de
` (4 preceding siblings ...)
2009-06-11 21:47 ` dominiq at lps dot ens dot fr
@ 2009-06-12 5:21 ` pault at gcc dot gnu dot org
2009-06-13 14:08 ` [Bug tree-optimization/40413] " rguenth at gcc dot gnu dot org
` (6 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: pault at gcc dot gnu dot org @ 2009-06-12 5:21 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from pault at gcc dot gnu dot org 2009-06-12 05:20 -------
Confirmed on FC8/x86 running in a VMware on an XP professional machine.... if
you get that:-)
Anyway, it's not limited to Darwin nor to 64 bits. It's not present, as far as
I can tell with gcc-4.4 20080624; annoyingly, the code produced looks no
different.
Cheers
Paul
--
pault at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2009-06-12 05:20:52
date| |
Summary|Internal error in connection|[4.5 Regression] Internal
|with optimization and |error in connection with
|allocatable objects |optimization and allocatable
| |objects
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug tree-optimization/40413] [4.5 Regression] Internal error in connection with optimization and allocatable objects
2009-06-11 10:01 [Bug fortran/40413] New: Internal error in connection with optimization and allocatable objects juergen dot reuter at desy dot de
` (5 preceding siblings ...)
2009-06-12 5:21 ` [Bug fortran/40413] [4.5 Regression] " pault at gcc dot gnu dot org
@ 2009-06-13 14:08 ` rguenth at gcc dot gnu dot org
2009-06-13 15:52 ` pault at gcc dot gnu dot org
` (5 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-06-13 14:08 UTC (permalink / raw)
To: gcc-bugs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mjambor at suse dot cz
Component|fortran |tree-optimization
Target Milestone|--- |4.5.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug tree-optimization/40413] [4.5 Regression] Internal error in connection with optimization and allocatable objects
2009-06-11 10:01 [Bug fortran/40413] New: Internal error in connection with optimization and allocatable objects juergen dot reuter at desy dot de
` (6 preceding siblings ...)
2009-06-13 14:08 ` [Bug tree-optimization/40413] " rguenth at gcc dot gnu dot org
@ 2009-06-13 15:52 ` pault at gcc dot gnu dot org
2009-06-14 1:30 ` jamborm at gcc dot gnu dot org
` (4 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: pault at gcc dot gnu dot org @ 2009-06-13 15:52 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from pault at gcc dot gnu dot org 2009-06-13 15:52 -------
(In reply to comment #6)
Changing
type :: polarization_t
logical :: polarized = .false.
integer :: spin_type = 0
integer :: multiplicity = 0
type(state_matrix_t) :: state
end type polarization_t
to
type :: polarization_t
type(state_matrix_t) :: state ! put structure here
logical :: polarized = .false.
integer :: spin_type = 0
integer :: multiplicity = 0
end type polarization_t
compiles at -O3 for me.
Paul
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug tree-optimization/40413] [4.5 Regression] Internal error in connection with optimization and allocatable objects
2009-06-11 10:01 [Bug fortran/40413] New: Internal error in connection with optimization and allocatable objects juergen dot reuter at desy dot de
` (7 preceding siblings ...)
2009-06-13 15:52 ` pault at gcc dot gnu dot org
@ 2009-06-14 1:30 ` jamborm at gcc dot gnu dot org
2009-06-15 9:07 ` jamborm at gcc dot gnu dot org
` (3 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: jamborm at gcc dot gnu dot org @ 2009-06-14 1:30 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from jamborm at gcc dot gnu dot org 2009-06-14 01:30 -------
Mine, will look into it shortly.
--
jamborm at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |jamborm at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2009-06-12 05:20:52 |2009-06-14 01:30:09
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug tree-optimization/40413] [4.5 Regression] Internal error in connection with optimization and allocatable objects
2009-06-11 10:01 [Bug fortran/40413] New: Internal error in connection with optimization and allocatable objects juergen dot reuter at desy dot de
` (8 preceding siblings ...)
2009-06-14 1:30 ` jamborm at gcc dot gnu dot org
@ 2009-06-15 9:07 ` jamborm at gcc dot gnu dot org
2009-06-16 9:54 ` jamborm at gcc dot gnu dot org
` (2 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: jamborm at gcc dot gnu dot org @ 2009-06-15 9:07 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from jamborm at gcc dot gnu dot org 2009-06-15 09:07 -------
Created an attachment (id=18001)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18001&action=view)
Fix
This was quite a serious oversight on my part, I wonder how it went
for so long unnoticed. I am about to bootstrap and regression test
this patch and will submit it if both succeed.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug tree-optimization/40413] [4.5 Regression] Internal error in connection with optimization and allocatable objects
2009-06-11 10:01 [Bug fortran/40413] New: Internal error in connection with optimization and allocatable objects juergen dot reuter at desy dot de
` (9 preceding siblings ...)
2009-06-15 9:07 ` jamborm at gcc dot gnu dot org
@ 2009-06-16 9:54 ` jamborm at gcc dot gnu dot org
2009-06-16 10:12 ` jamborm at gcc dot gnu dot org
2009-06-16 10:24 ` jamborm at gcc dot gnu dot org
12 siblings, 0 replies; 14+ messages in thread
From: jamborm at gcc dot gnu dot org @ 2009-06-16 9:54 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from jamborm at gcc dot gnu dot org 2009-06-16 09:54 -------
Bootstrap and testing passed, submitted in
http://gcc.gnu.org/ml/gcc-patches/2009-06/msg01179.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug tree-optimization/40413] [4.5 Regression] Internal error in connection with optimization and allocatable objects
2009-06-11 10:01 [Bug fortran/40413] New: Internal error in connection with optimization and allocatable objects juergen dot reuter at desy dot de
` (10 preceding siblings ...)
2009-06-16 9:54 ` jamborm at gcc dot gnu dot org
@ 2009-06-16 10:12 ` jamborm at gcc dot gnu dot org
2009-06-16 10:24 ` jamborm at gcc dot gnu dot org
12 siblings, 0 replies; 14+ messages in thread
From: jamborm at gcc dot gnu dot org @ 2009-06-16 10:12 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from jamborm at gcc dot gnu dot org 2009-06-16 10:12 -------
Subject: Bug 40413
Author: jamborm
Date: Tue Jun 16 10:11:55 2009
New Revision: 148520
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148520
Log:
2009-06-16 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/40413
* tree-sra.c (load_assign_lhs_subreplacements): Pass offset to
build_ref_for_offset.
(propagate_subacesses_accross_link): Fix a typo in a comment.
* testsuite/gfortran.fortran-torture/compile/pr40413.f90: New file.
Added:
trunk/gcc/testsuite/gfortran.fortran-torture/compile/pr40413.f90
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-sra.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug tree-optimization/40413] [4.5 Regression] Internal error in connection with optimization and allocatable objects
2009-06-11 10:01 [Bug fortran/40413] New: Internal error in connection with optimization and allocatable objects juergen dot reuter at desy dot de
` (11 preceding siblings ...)
2009-06-16 10:12 ` jamborm at gcc dot gnu dot org
@ 2009-06-16 10:24 ` jamborm at gcc dot gnu dot org
12 siblings, 0 replies; 14+ messages in thread
From: jamborm at gcc dot gnu dot org @ 2009-06-16 10:24 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from jamborm at gcc dot gnu dot org 2009-06-16 10:24 -------
Fixed
--
jamborm at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40413
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2009-06-16 10:24 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-06-11 10:01 [Bug fortran/40413] New: Internal error in connection with optimization and allocatable objects juergen dot reuter at desy dot de
2009-06-11 10:34 ` [Bug fortran/40413] " dominiq at lps dot ens dot fr
2009-06-11 14:55 ` reuter at mail dot desy dot de
2009-06-11 15:23 ` dominiq at lps dot ens dot fr
2009-06-11 19:31 ` reuter at mail dot desy dot de
2009-06-11 21:47 ` dominiq at lps dot ens dot fr
2009-06-12 5:21 ` [Bug fortran/40413] [4.5 Regression] " pault at gcc dot gnu dot org
2009-06-13 14:08 ` [Bug tree-optimization/40413] " rguenth at gcc dot gnu dot org
2009-06-13 15:52 ` pault at gcc dot gnu dot org
2009-06-14 1:30 ` jamborm at gcc dot gnu dot org
2009-06-15 9:07 ` jamborm at gcc dot gnu dot org
2009-06-16 9:54 ` jamborm at gcc dot gnu dot org
2009-06-16 10:12 ` jamborm at gcc dot gnu dot org
2009-06-16 10:24 ` jamborm at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).