--
fxcoudert at gcc dot gnu dot org changed:
What|Removed |Added
Target Milestone|--- |4.3.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32962
--- Comment #13 from pault at gcc dot gnu dot org 2007-08-13 06:16 ---
Subject: Bug 32962
Author: pault
Date: Mon Aug 13 06:16:03 2007
New Revision: 127391
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127391
Log:
2007-08-13 Paul Thomas [EMAIL PROTECTED]
PR
--- Comment #14 from pault at gcc dot gnu dot org 2007-08-13 06:18 ---
Fixed on trunk
Paul
--
pault at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #12 from patchapp at dberlin dot org 2007-08-12 11:45 ---
Subject: Bug number PR32962
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-08/msg00774.html
--
--- Comment #11 from pault at gcc dot gnu dot org 2007-08-08 16:34 ---
The patch below fixes this problem and all its variants. It regtests, except
for allocatable_function_1.f90. This runs OK but the number of free's goes up
from 10 to 11; hence the failure on exepecting 10 of them.
--- Comment #9 from pault at gcc dot gnu dot org 2007-08-04 20:13 ---
(In reply to comment #4)
Confirmed.
Paul, I'm putting you on the CC list because you fixed
PR 31994, the original conjg(transpose()) bug. Maybe
you can do something about this one :-)
Nice try but I think
--- Comment #10 from pault at gcc dot gnu dot org 2007-08-04 22:13 ---
The problem occurs whenever the destination array is described by and array
descriptor; eg.
complex(kind=8) :: a(2,2), b(2,2)
call testcase (a, b)
contains
subroutine testcase (a, b)
complex(kind=8) ::
--- Comment #5 from burnus at gcc dot gnu dot org 2007-08-02 07:56 ---
The essential point is that b is allocatable; a can be a parameter or a
simple dimension(2,2) array. The kind does also not matter. If one uses only
conjg or only transpose there is no error.
Also, if one reverts the
--- Comment #6 from burnus at gcc dot gnu dot org 2007-08-02 16:32 ---
For my testcase (with parameter) I find the following in the original dump:
(*D.1371)[(S.4 + D.1380) * D.1384 + D.1387] = CONJ_EXPR (*(complex4[0:] *)
parm.1.data)[S.4 * D.1383 + D.1386];
Rewritten this is:
--- Comment #7 from burnus at gcc dot gnu dot org 2007-08-02 20:56 ---
CONJ_EXPR a.data[0*1+(-2)]
The offset = -2 is generated in gfc_conv_expr_descriptor:
offset = gfc_index_zero_node;
for (n = 0; n ndim; n++) // ndim = 2
start = info-start[dim]; // start
--- Comment #8 from kargl at gcc dot gnu dot org 2007-08-03 04:29 ---
Change severity to normal. Yes, I know the bug is critical
to Wirawan, but a Fortran bug is rarely considered critical.
--
kargl at gcc dot gnu dot org changed:
What|Removed
--- Comment #2 from dominiq at lps dot ens dot fr 2007-08-01 20:01 ---
Confirmed with 4.3.0 of today on PPC Darwin8:
original = ( 2.00 , 0.00 ) (
3.00 , 0.00 ) ( 7.00 ,
0.00 ) (
--- Comment #1 from wirawan0 at gmail dot com 2007-08-01 20:00 ---
Created an attachment (id=14006)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14006action=view)
Failing testcase with higher-dimensional b array
I found that the result of conjg(transpose(a)) is also wrong if b is
--- Comment #3 from wirawan0 at gmail dot com 2007-08-01 20:02 ---
Created an attachment (id=14007)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14007action=view)
Magically successful testcase!
And by the way, if BOTH b and a are part of higher-dimensional arrays (see
testcase),
--- Comment #4 from tkoenig at gcc dot gnu dot org 2007-08-02 05:42 ---
Confirmed.
Paul, I'm putting you on the CC list because you fixed
PR 31994, the original conjg(transpose()) bug. Maybe
you can do something about this one :-)
Thomas
--
tkoenig at gcc dot gnu dot org changed:
15 matches
Mail list logo