--- Comment #17 from dominiq at lps dot ens dot fr 2007-08-02 08:06 ---
The following reduced cas:
integer,allocatable :: foo(:,:)
allocate(foo(0,1:7))
print *, pack(foo(:,1),foo(:,1)==0,(/1,2/))
deallocate(foo)
end
gives a Bus error when run. It works if I replace the mask by
--- Comment #18 from dominiq at lps dot ens dot fr 2007-08-02 09:53 ---
The test of #17 pass on AMD64 with gfortran 4.3.0 20070713, but fails on PPC
Darwin8 with gfortran 4.3.0 20070802.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32954
--- Comment #19 from dominiq at lps dot ens dot fr 2007-08-02 15:49 ---
Created an attachment (id=14009)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14009action=view)
gdb session from entering pack_internal to the crash
I have also had a look to the results of
--- Comment #20 from tkoenig at gcc dot gnu dot org 2007-08-02 17:17
---
(In reply to comment #19)
I have also had a look to the results of -fdump-tree-original and to the
assembly with and without the flag, but did not see anything obvious.
This is very strange. sptr gets
--- Comment #21 from dominiq at lps dot ens dot fr 2007-08-02 17:42 ---
Created an attachment (id=14011)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14011action=view)
new gdb session with 'watch sptr'
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32954
--- Comment #2 from fxcoudert at gcc dot gnu dot org 2007-08-01 08:21
---
(In reply to comment #1)
This should fix it.
This patch is pre-approved (as well as small variations and improvements of
it), though it might be worth opening an enhancement PR to note that if the
user code has
--- Comment #3 from dominiq at lps dot ens dot fr 2007-08-01 13:51 ---
The first test of PR32770, i.e.:
program main
real, dimension(2) :: a
call random_number(a)
print *,maxloc(a,mask=.true.)
end program main
with -fdefault-integer-8 and your patch, gives (PPC Darwin8):
--- Comment #4 from dominiq at lps dot ens dot fr 2007-08-01 14:28 ---
gfortran.dg/minmaxloc_1.f90 gives the same error in my build.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32954
--- Comment #5 from dominiq at lps dot ens dot fr 2007-08-01 15:36 ---
I have had a nonexpert look at the patch and I wonder if
+ ts.kind = gfc_default_logical_kind;
should not be
+ ts.kind = newkind;
???
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32954
--- Comment #6 from kargl at gcc dot gnu dot org 2007-08-01 17:16 ---
(In reply to comment #5)
I have had a nonexpert look at the patch and I wonder if
+ ts.kind = gfc_default_logical_kind;
should not be
+ ts.kind = newkind;
Yes, I believe you are correct.
--- Comment #7 from tkoenig at alice-dsl dot net 2007-08-01 17:46 ---
Subject: Re: mask and -fdefault-integer-8
On Wed, 2007-08-01 at 15:36 +, dominiq at lps dot ens dot fr wrote:
--- Comment #5 from dominiq at lps dot ens dot fr 2007-08-01 15:36
---
I have had a
--- Comment #8 from tkoenig at gcc dot gnu dot org 2007-08-01 18:49 ---
Even with the correction, the patch didn't pass regression-testing.
It's a good thing we do this.
I'll continue my investigations.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32954
--- Comment #9 from dominiq at lps dot ens dot fr 2007-08-01 19:05 ---
With the change my tests now compile (regtesting!-), but
gfortran.dg/zero_sized_1.f90 aborts.
BTW I don't understand the error:
Can't convert LOGICAL(8) to LOGICAL(8) at (1)
How can a no operation trigger an
--- Comment #11 from dominiq at lps dot ens dot fr 2007-08-01 19:11 ---
The problem is with PACK. If I comment the line
call test_pack
the test pass.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32954
--- Comment #13 from dominiq at lps dot ens dot fr 2007-08-01 20:17 ---
I still have the Bus error. From the backtrace I think the culprit is
libgfortran/intrinsics/pack_generic.c. Probably around the lines:
pack_internal (gfc_array_char *ret, const gfc_array_char *array,
--- Comment #15 from tkoenig at gcc dot gnu dot org 2007-08-01 20:44
---
(In reply to comment #13)
I still have the Bus error. From the backtrace I think the culprit is
libgfortran/intrinsics/pack_generic.c. Probably around the lines:
Hi Dominique,
I just committed a corrected
--- Comment #14 from tkoenig at gcc dot gnu dot org 2007-08-01 20:27
---
Subject: Bug 32954
Author: tkoenig
Date: Wed Aug 1 20:27:27 2007
New Revision: 127137
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127137
Log:
2007-08-01 Thomas Koenig [EMAIL PROTECTED]
PR
--- Comment #16 from dominiq at lps dot ens dot fr 2007-08-01 21:19 ---
As far as I can tell, I have applied correctly your latest patch. But the
following reduced test
! { dg-do run }
! Transformational functions for zero-sized array and array sections
! Contributed by Francois-Xavier
--
tkoenig at gcc dot gnu dot org changed:
What|Removed |Added
AssignedTo|unassigned at gcc dot gnu |tkoenig at gcc dot gnu dot
|dot org
--- Comment #1 from tkoenig at gcc dot gnu dot org 2007-08-01 05:52 ---
Created an attachment (id=14002)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14002action=view)
proposed patch
This should fix it.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32954
20 matches
Mail list logo