--
Bug 20538 depends on bug 16898, which changed state.
Bug 16898 Summary: Aliasing problem with array descriptors
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16898
What|Old Value |New Value
--
--- Additional Comments From tobi at gcc dot gnu dot org 2005-05-18 21:23
---
This is fixed by Zdenek recent fix for aliasing issues. I'm setting the target
milestone to 4.1, but if Zdenek applies his patch to 4.0 this should probably be
changed as well.
--
What|Removed
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-03-19
13:24 ---
(In reply to comment #10)
> (In reply to comment #8)
>
> > Due to general gfortran lameness only contained functions are ever inlined.
> >
> > Top-level functions are never inlined.
>
> Why?
I think P
--- Additional Comments From Thomas dot Koenig at online dot de 2005-03-19
13:20 ---
(In reply to comment #8)
> Due to general gfortran lameness only contained functions are ever inlined.
> Top-level functions are never inlined.
Why?
I've worked with a Fortrtran 77 compiler (vor t
--- Additional Comments From tobi at gcc dot gnu dot org 2005-03-19 11:51
---
One further reduction, still the same misbehavior:
real vx(1)
num=2
do i=1,num
call advance(vx)
end do
contains
subroutine advance(bodies)
real, dimension(:)::bodies
bodies(1) = 1.0
end
--- Additional Comments From pbrook at gcc dot gnu dot org 2005-03-19
01:58 ---
Due to general gfortran lameness only contained functions are ever inlined.
Top-level functions are never inlined.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20538
--- Additional Comments From tobi at gcc dot gnu dot org 2005-03-19 01:57
---
This modified testcase which removes the nested function, fails at -O2 by giving
as output, but works at -O0. I'm not sure if this is a different
manifestation of the same bug, so I'm putting this here
--- Additional Comments From tobi at gcc dot gnu dot org 2005-03-19 01:47
---
The failure is dependent on the function being a nested function, the following
doesn't segfault at -O2:
subroutine advance(bodies)
real, dimension(:)::bodies
bodies = 1.0
end subroutine advance
int
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-03-19
01:42 ---
This might be the same as PR 16898.
--
What|Removed |Added
BugsThisDependsOn|
--- Additional Comments From tobi at gcc dot gnu dot org 2005-03-19 01:35
---
Further reduction: segfaults at -O2, runs at -O0.
real vx(1)
num=2
do i=1,num
call advance(vx)
end do
contains
subroutine advance(bodies)
real, dimension(:)::bodies
bodies = 1.0
end sub
--- Additional Comments From tobi at gcc dot gnu dot org 2005-03-19 00:54
---
Slightly reduced testcase, segfaults at -O2, runs with lower optimization.
Removing any single statement leads to either illegal floating pointn numbers or
makes the segfault disappear:
character(len=8) arg
--- Additional Comments From kargl at gcc dot gnu dot org 2005-03-18 22:36
---
I added a "print *, size(bodies)" in the advance routine. We have
troutmask:kargl[295] gfc -o jk -O2 jk.f90
troutmask:kargl[296] ./jk 1
-0.169075164
-595
-0.169075164
troutmask:kargl[297] gfc -o jk -
--- Additional Comments From kargl at gcc dot gnu dot org 2005-03-18 22:24
---
It appears to be an optimization bug. It compiles and runs with
"-O" and "-O -finline-functions". It seg faults with "-O2". The
-finline-functions appears to be unrelated to the seg fault.
--
http://gcc
13 matches
Mail list logo