--- Comment #3 from hjl dot tools at gmail dot com 2009-08-05 18:58 ---
(In reply to comment #1)
> Works for me on x86-64-linux and seems also to work on several other systems
> according to the testresults mailing list.
> (Only failure - your ia64 system:
> http://gcc.gnu.org/ml/gcc-tes
--- Comment #4 from kargl at gcc dot gnu dot org 2009-08-05 19:06 ---
(In reply to comment #3)
> (In reply to comment #1)
> > Works for me on x86-64-linux and seems also to work on several other systems
> > according to the testresults mailing list.
> > (Only failure - your ia64 system:
--- Comment #5 from hjl dot tools at gmail dot com 2009-08-05 19:07 ---
(gdb) bt
#0 0xa0010621 in __kernel_syscall_via_break ()
#1 0x203e7630 in raise () from /lib/tls/libc.so.6.1
#2 0x203ea010 in abort () from /lib/tls/libc.so.6.1
#3 0x400014b0 in f_t
--- Comment #6 from hjl dot tools at gmail dot com 2009-08-05 19:09 ---
21if ( a1 != *a2 ) abort();
(gdb) p a1
$1 = 0
(gdb) p *a2
$2 = 42
(gdb)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40969
--- Comment #7 from hjl dot tools at gmail dot com 2009-08-05 19:22 ---
When we see
external f_to_f, i_to_i, c_to_c
external f_to_f8, i_to_i8, c_to_c8
and do
typelist = gfc_chainon_list (typelist, void_type_node);
Later, we see
call f_to_f (b, %VAL (a), %REF (c), %L
--- Comment #8 from hjl dot tools at gmail dot com 2009-08-05 19:28 ---
(In reply to comment #7)
> When we see
>
> external f_to_f, i_to_i, c_to_c
> external f_to_f8, i_to_i8, c_to_c8
>
> and do
>
> typelist = gfc_chainon_list (typelist, void_type_node);
>
> Later, we
--- Comment #9 from burnus at gcc dot gnu dot org 2009-08-05 19:33 ---
(In reply to comment #6)
> 21if ( a1 != *a2 ) abort();
> (gdb) p a1
> $1 = 0
> (gdb) p *a2
> $2 = 42
Thanks! I think the following patch should cure this. I think we will still
have issues with LTO but those
--- Comment #10 from hjl dot tools at gmail dot com 2009-08-05 19:49
---
(In reply to comment #9)
> Thanks! I think the following patch should cure this. I think we will still
> have issues with LTO but those are inevitable and need to be solved on the
> middle end.
>
> Index: trans-t
--- Comment #11 from hjl dot tools at gmail dot com 2009-08-05 19:52
---
This patch works:
--- ./trans-types.c.foo 2009-08-05 07:26:53.0 -0700
+++ ./trans-types.c 2009-08-05 12:51:00.0 -0700
@@ -2324,7 +2324,10 @@ gfc_get_function_type (gfc_symbol * sym)
while (n
--- Comment #12 from burnus at gcc dot gnu dot org 2009-08-05 20:03 ---
(In reply to comment #10)
> It failed at a different place:
> 61if ( c1 != *c2) abort();
> (gdb) p c1
> $1 = 43 + 0 * I
> (gdb) p *c2
> $2 = -1 + 2 * I
Hmm, I honestly have no idea why this fails. In my
--- Comment #13 from burnus at gcc dot gnu dot org 2009-08-05 20:36 ---
(In reply to comment #11)
> This patch works:
> + if (typelist || sym->attr.if_source != IFSRC_UNKNOWN)
> +typelist = gfc_chainon_list (typelist, void_type_node);
That patch essentially undoes the patch of PR 4
--
burnus at gcc dot gnu dot org changed:
What|Removed |Added
AssignedTo|unassigned at gcc dot gnu |burnus at gcc dot gnu dot
|dot org
--- Comment #14 from burnus at gcc dot gnu dot org 2009-08-05 20:47 ---
Subject: Bug 40969
Author: burnus
Date: Wed Aug 5 20:47:19 2009
New Revision: 150500
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=150500
Log:
2009-08-05 Tobias Burnus
PR fortran/40969
--- Comment #15 from burnus at gcc dot gnu dot org 2009-08-05 20:52 ---
FIXED by reverting the bug.
--
burnus at gcc dot gnu dot org changed:
What|Removed |Added
14 matches
Mail list logo