--- Comment #6 from burnus at gcc dot gnu dot org 2007-04-19 07:44 ---
Nevertheless, the accepts-invalid is also an embarassing problem (unless we
collectively misunderstand Fortran rules :)
Well, we do.
if (any (Up (AbCdEfGhIjKlM) .ne. (/ABCDEFGHIJKLM/))) stop 'ERROR'
compiles
--- Comment #7 from Tobias dot Schlueter at physik dot uni-muenchen dot de
2007-04-19 09:08 ---
Subject: Re: wrong types in array transfer
burnus at gcc dot gnu dot org wrote:
--- Comment #6 from burnus at gcc dot gnu dot org 2007-04-19 07:44
---
Nevertheless, the
--- Comment #8 from pault at gcc dot gnu dot org 2007-04-19 10:37 ---
(In reply to comment #7)
I am completely trapped by the workshop that I am running and have not even
managed to do what I promised last night. Realistically, it might have to wait
until the weekend. If you can
--- Comment #9 from rguenth at gcc dot gnu dot org 2007-04-19 12:08 ---
The patch in http://gcc.gnu.org/ml/gcc-patches/2007-04/msg01075.html makes the
testcase ICE because of the type mismatch.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31608
--- Comment #10 from pault at gcc dot gnu dot org 2007-04-19 15:20 ---
(In reply to comment #5)
For the record, the problem Richard is pointing out is in the body of the
function Up, namely in the expression for MERGE, probably caused by TRANSFER.
Duuh! You are right about where the
--- Comment #11 from rguenth at gcc dot gnu dot org 2007-04-19 15:55
---
It's not blocking me atm as a different patch got accepted which doesn't expose
this problem.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31608
--- Comment #2 from pault at gcc dot gnu dot org 2007-04-18 09:36 ---
(In reply to comment #1)
Adding pault, as he's the likely culprit :)
Richard and Tobi,
I am a bit trapped right now, as chairman of a review meeting; I'll try to look
at it this evening.
On the face of it,
--- Comment #3 from burnus at gcc dot gnu dot org 2007-04-18 10:21 ---
(In reply to comment #1)
snip
if (any (Up (AbCdEfGhIjKlM) .ne. (/ABCDEFGHIJKLM/))) call abort ()
contains
Character (len=20) Function Up (string)
/snip
It looks like it's comparing a CHARACTER*20 (= Up's
--- Comment #4 from pault at gcc dot gnu dot org 2007-04-18 10:44 ---
(In reply to comment #2)
Changing the comparison to
if (Up (AbCdEfGhIjKlM) .ne. ABCDEFGHIJKLM) call abort ()
gets rid of the problem.
I have clearly exposed something extremely unpleasant in ANY or the
--- Comment #5 from tobi at gcc dot gnu dot org 2007-04-18 23:56 ---
For the record, the problem Richard is pointing out is in the body of the
function Up, namely in the expression for MERGE, probably caused by TRANSFER.
Nevertheless, the accepts-invalid is also an embarassing problem
--- Comment #1 from tobi at gcc dot gnu dot org 2007-04-17 17:27 ---
Adding pault, as he's the likely culprit :)
Paul, I'm wondering if the testcase is really valid Fortran:
snip
if (any (Up (AbCdEfGhIjKlM) .ne. (/ABCDEFGHIJKLM/))) call abort ()
contains
Character (len=20) Function
11 matches
Mail list logo