From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23260 invoked by alias); 23 Aug 2010 13:33:06 -0000 Received: (qmail 23111 invoked by uid 48); 23 Aug 2010 13:32:36 -0000 Date: Mon, 23 Aug 2010 13:33:00 -0000 Message-ID: <20100823133236.23110.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/42769] [OOP] ICE in resolve_typebound_procedure In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "janus at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-08/txt/msg01857.txt.bz2 ------- Comment #28 from janus at gcc dot gnu dot org 2010-08-23 13:32 ------- Comment #27 can be fixed by: Index: gcc/fortran/resolve.c =================================================================== --- gcc/fortran/resolve.c (revision 163468) +++ gcc/fortran/resolve.c (working copy) @@ -10937,10 +10937,12 @@ error: stree->n.tb->error = 1; } + static gfc_try resolve_typebound_procedures (gfc_symbol* derived) { int op; + gfc_symbol *vtab; if (!derived->f2k_derived || !derived->f2k_derived->tb_sym_root) return SUCCESS; @@ -10948,6 +10950,9 @@ resolve_typebound_procedures (gfc_symbol* derived) resolve_bindings_derived = derived; resolve_bindings_result = SUCCESS; + /* Make sure the vtab has been generated. */ + vtab = gfc_find_derived_vtab (derived); + if (derived->f2k_derived->tb_sym_root) gfc_traverse_symtree (derived->f2k_derived->tb_sym_root, &resolve_typebound_procedure); -- janus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |janus at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2010-01-16 21:04:41 |2010-08-23 13:32:36 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42769