--- Comment #19 from hjl at gcc dot gnu dot org 2009-08-30 02:07 ---
Subject: Bug 41139
Author: hjl
Date: Sun Aug 30 02:06:32 2009
New Revision: 151218
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=151218
Log:
2009-08-29 H.J. Lu
Backport from mainline:
2009-
--- Comment #18 from janus at gcc dot gnu dot org 2009-08-25 14:29 ---
Fixed with r151081. Closing.
--
janus at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #17 from janus at gcc dot gnu dot org 2009-08-25 14:27 ---
Subject: Bug 41139
Author: janus
Date: Tue Aug 25 14:26:44 2009
New Revision: 151081
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=151081
Log:
2009-08-25 Janus Weil
PR fortran/41139
* pri
--
mmitchel at gcc dot gnu dot org changed:
What|Removed |Added
Priority|P3 |P5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41139
--- Comment #16 from janus at gcc dot gnu dot org 2009-08-23 21:15 ---
(In reply to comment #15)
> > D.1533 = f (&C.1531, &C.1532);
>
> In principle the 'f' here should be an 'o.f'.
I opened PR 41149 to track this issue.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41139
--- Comment #15 from janus at gcc dot gnu dot org 2009-08-22 09:43 ---
(In reply to comment #14)
> Is this what you want?
Jep.
> D.1533 = f (&C.1531, &C.1532);
In principle the 'f' here should be an 'o.f'. Maybe we can postpone this issue
until the other stuff is fixed (will post
--- Comment #14 from dominiq at lps dot ens dot fr 2009-08-22 09:27 ---
> Dominique, can you post your dump for comment #4 (especially the call to o%f)?
Is this what you want?
o.f = add;
{
real(kind=4) D.1533;
static real(kind=4) C.1532 = 2.0e+0;
static real(kind=4) C.1
--- Comment #13 from janus at gcc dot gnu dot org 2009-08-22 09:19 ---
(In reply to comment #12)
> @@ -3512,8 +3513,7 @@ gfc_get_proc_ptr_comp (gfc_se *se, gfc_e
>e2 = gfc_copy_expr (e);
>e2->expr_type = EXPR_VARIABLE;
>gfc_conv_expr (&comp_se, e2);
> - comp_se.expr = build_
--- Comment #12 from dominiq at lps dot ens dot fr 2009-08-22 08:57 ---
In order to avoid the error reported in comment #8, I have tested the following
patches:
(1)
Index: gcc/fortran/trans-expr.c
===
--- ../_gcc_clean/gcc
--- Comment #11 from janus at gcc dot gnu dot org 2009-08-21 20:27 ---
Here is another variant of the test case which fails at runtime:
PROGRAM test
type :: t
PROCEDURE(three), POINTER, nopass :: f
end type
type(t) :: o
logical :: g
o%f => three
g=greater(4.,o%f())
print *,g
--- Comment #10 from burnus at gcc dot gnu dot org 2009-08-21 18:03 ---
(In reply to comment #9)
> Working: 2009-07-10, r149458
> Failing: 2009-07-17, r149734
Wrong PR - sorry, that should go to PR debug/40660
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41139
--- Comment #9 from burnus at gcc dot gnu dot org 2009-08-21 18:02 ---
Working: 2009-07-10, r149458
Failing: 2009-07-17, r149734
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41139
--- Comment #8 from dominiq at lps dot ens dot fr 2009-08-21 17:08 ---
With the patch in comment #7, compiling gcc/fortran/trans-expr.c fails with:
...
cc1: warnings being treated as errors
../../gcc-4.5-work/gcc/fortran/trans-expr.c: In function
'gfc_get_proc_ptr_comp':
../../gcc-4.5-w
--- Comment #7 from janus at gcc dot gnu dot org 2009-08-21 15:11 ---
(In reply to comment #4)
> D.1571 = o.f;
> D.1572 = D.1571 (&C.1569, &C.1570);
> g = (logical(kind=4)) greater (&C.1568, &&D.1572);
Btw, it seems unnecessary to me that every PPC call generates a temporary
--- Comment #6 from janus at gcc dot gnu dot org 2009-08-21 14:50 ---
This simple patch fixes comment #2:
Index: gcc/fortran/trans-expr.c
===
--- gcc/fortran/trans-expr.c(revision 150987)
+++ gcc/fortran/trans-expr.c
--- Comment #5 from janus at gcc dot gnu dot org 2009-08-21 14:03 ---
> (1) I had to make the change you have posted in comment #2 to run a test.
>
> (2) The code in comment #0 is illegal and should not be used for the test
> suite.
Of course. Thanks for pointing this out :)
--
h
--- Comment #4 from janus at gcc dot gnu dot org 2009-08-21 14:00 ---
Side note: If one constructs an analogous test case with PPCs, this does not
have the missing-temporary problem. But it has a different one:
PROGRAM test
type :: t
PROCEDURE(add), POINTER, nopass :: f
end type
--- Comment #3 from dominiq at lps dot ens dot fr 2009-08-21 13:58 ---
> > Beware the forbidden recursive I/Os!
>
> This is not the issue here. ...
Indeed I know! but
(1) I had to make the change you have posted in comment #2 to run a test.
(2) The code in comment #0 is illegal and s
--- Comment #2 from janus at gcc dot gnu dot org 2009-08-21 13:51 ---
> Beware the forbidden recursive I/Os!
This is not the issue here. The following variation has no recursive I/O, but
gives the same segfault:
PROGRAM test
PROCEDURE(add), POINTER :: f
logical :: g
! Passing the
--- Comment #1 from dominiq at lps dot ens dot fr 2009-08-21 13:35 ---
Beware the forbidden recursive I/Os!-(the test hangs on Darwin, see pr30617).
Otherwise, after using a temp for greater, I get a Bus error.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41139
--
janus at gcc dot gnu dot org changed:
What|Removed |Added
CC||barron dot bichon at swri
|
21 matches
Mail list logo