This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch, Fortran, 4.5] Procedure Pointer Components


Dear Janus,

Just to let you know  - I have made some progress.  I am past the
assignment to the derived type component and am trying to get the call
to work - another day or so should see a result::-)

Cheers

Paul

On Wed, Jan 28, 2009 at 10:17 PM, Janus Weil <janus@gcc.gnu.org> wrote:
> Hi all,
>
> in August/September of last year I started working on a patch for
> procedure pointer components, which has suffered some bitrotting since
> then. I just updated it, so that it applies cleanly to the current
> trunk. Although it's not quite finished yet, I'm posting it here for
> reference, so that it doesn't get lost and can serve as a baseline for
> further investigations.
>
> In it's current form, it fails on the attached testcase with the
> following backtrace:
>
> #0  get_frame_type (info=0x0) at /home/jweil/gcc44/trunk/gcc/tree-nested.c:202
> #1  0x0840aadf in get_chain_decl (info=0x8a739a8) at
> /home/jweil/gcc44/trunk/gcc/tree-nested.c:308
> #2  0x0840bd62 in get_nonlocal_debug_decl (info=0x8a739a8,
> decl=0xb7d37108) at /home/jweil/gcc44/trunk/gcc/tree-nested.c:804
> #3  0x0840f343 in convert_nonlocal_reference_op (tp=0xb7ca35d4,
> walk_subtrees=0xbfffe828, data=0xbfffe994) at
> /home/jweil/gcc44/trunk/gcc/tree-nested.c:872
> #4  0x085522eb in walk_tree_1 (tp=0xb7ca35d4, func=0x840f290
> <convert_nonlocal_reference_op>, data=0xbfffe994, pset=0x0, lh=0) at
> /home/jweil/gcc44/trunk/gcc/tree.c:8630
> #5  0x0829eb88 in walk_gimple_op (stmt=0xb7ca35a0,
> callback_op=0x840f290 <convert_nonlocal_reference_op>, wi=0xbfffe994)
> at /home/jweil/gcc44/trunk/gcc/gimple.c:1404
> #6  0x0829f575 in walk_gimple_stmt (gsi=0xbfffe8e0,
> callback_stmt=0x8410320 <convert_nonlocal_reference_stmt>,
> callback_op=0x840f290 <convert_nonlocal_reference_op>, wi=0xbfffe994)
> at /home/jweil/gcc44/trunk/gcc/gimple.c:1679
> #7  0x0829f76c in walk_gimple_seq (seq=0xb7d263e4,
> callback_stmt=0x8410320 <convert_nonlocal_reference_stmt>,
> callback_op=0x840f290 <convert_nonlocal_reference_op>, wi=0xbfffe994)
> at /home/jweil/gcc44/trunk/gcc/gimple.c:1276
> #8  0x0829f6d9 in walk_gimple_stmt (gsi=0xbfffe960,
> callback_stmt=0x8410320 <convert_nonlocal_reference_stmt>,
> callback_op=0x840f290 <convert_nonlocal_reference_op>, wi=0xbfffe994)
> at /home/jweil/gcc44/trunk/gcc/gimple.c:1688
> #9  0x0829f76c in walk_gimple_seq (seq=0xb7d2645c,
> callback_stmt=0x8410320 <convert_nonlocal_reference_stmt>,
> callback_op=0x840f290 <convert_nonlocal_reference_op>, wi=0xbfffe994)
> at /home/jweil/gcc44/trunk/gcc/gimple.c:1276
> #10 0x0840a3c0 in walk_body (callback_stmt=0x8410320
> <convert_nonlocal_reference_stmt>, callback_op=0, info=0xb7d37108,
> seq=0xb7d2645c) at /home/jweil/gcc44/trunk/gcc/tree-nested.c:550
> #11 0x0840c339 in walk_all_functions (callback_stmt=0x8410320
> <convert_nonlocal_reference_stmt>, callback_op=0x840f290
> <convert_nonlocal_reference_op>, root=0x8a739a8) at
> /home/jweil/gcc44/trunk/gcc/tree-nested.c:560
> #12 0x0840d885 in lower_nested_functions (fndecl=0xb7d2ef00) at
> /home/jweil/gcc44/trunk/gcc/tree-nested.c:2165
> #13 0x085aafe8 in cgraph_finalize_function (decl=0xb7d2ef00, nested=0
> '\0') at /home/jweil/gcc44/trunk/gcc/cgraphunit.c:515
> #14 0x080f7198 in gfc_generate_function_code (ns=0x8aa8a98) at
> /home/jweil/gcc44/trunk/gcc/fortran/trans-decl.c:3977
> #15 0x080a8d1d in gfc_parse_file () at
> /home/jweil/gcc44/trunk/gcc/fortran/parse.c:3856
> #16 0x080d878d in gfc_be_parse_file (set_yydebug=0) at
> /home/jweil/gcc44/trunk/gcc/fortran/f95-lang.c:236
> #17 0x083bf68e in toplev_main (argc=2, argv=0xbfffedc4) at
> /home/jweil/gcc44/trunk/gcc/toplev.c:970
> #18 0x08124952 in main (argc=2097184, argv=0x0) at
> /home/jweil/gcc44/trunk/gcc/main.c:35
>
> triggered by the PPC assignment in line 10 of the testcase. Anyone who
> is willing to help me in finding the cause of this ICE is highly
> welcome.
>
> In addition to this, I have two more procptr patches in the pipeline
> for 4.5, which I would like to commit before the PPC patch (in this
> order):
>
> (1) Procedure pointer assignment checking (PR38290), see
> http://gcc.gnu.org/ml/fortran/2008-12/msg00191.html
>
> (2) Proc-pointer function results (PR36704), see
> http://gcc.gnu.org/ml/fortran/2009-01/msg00248.html
>
> While the first one is pretty complete and just needs to be approved,
> the second one still has some minor issues, but may (?) be committed
> in its current form, leaving the remaining issues for a follow-up
> patch. May the reviewers decide.
>
> I'd appreciate very much a review of any of these three patches.
> Cheers,
> Janus
>



-- 
The knack of flying is learning how to throw yourself at the ground and miss.
       --Hitchhikers Guide to the Galaxy


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]