Summary: | User-defined operator using entry leads to ICE | ||
---|---|---|---|
Product: | gcc | Reporter: | Joost VandeVondele <Joost.VandeVondele> |
Component: | fortran | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | gcc-bugs, P.Schaffnit |
Priority: | P3 | Keywords: | ice-on-valid-code |
Version: | 4.3.0 | ||
Target Milestone: | 4.3.0 | ||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | 4.1.3 4.2.0 4.3.0 | Last reconfirmed: | 2007-03-16 19:42:12 |
Bug Depends on: | |||
Bug Blocks: | 32834 |
Description
Joost VandeVondele
2007-03-16 11:43:58 UTC
Reduced testcase: module test implicit none interface operator(.foo.) module procedure b_op_a end interface operator(.foo.) contains function a_op_b() integer, intent(in) :: a, b integer :: a_op_b, b_op_a entry b_op_a(a,b) end function a_op_b end module test $ gfortran -c a.f90 a.f90:13.17: entry b_op_a(a,b) 1 Internal Error at (1): insert_bbt(): Duplicate key found! Subject: Bug 31214 Author: pault Date: Sat Apr 7 21:18:17 2007 New Revision: 123642 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123642 Log: 2007-04-07 Paul Thomas <pault@gcc.gnu.org> PR fortran/31214 * trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use associated symbols. 2007-04-07 Paul Thomas <pault@gcc.gnu.org> PR fortran/31424 * gfortran.dg/unreferenced_use_assoc_1.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/unreferenced_use_assoc_1.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/trans-decl.c trunk/gcc/testsuite/ChangeLog Fixed on trumk Paul the original testcase fails (again/still?) (In reply to comment #4) > the original testcase fails (again/still?) > Hmmm - it no longer ICEs but gives an error. I'll have a look. Paul Subject: Bug number PR31214 A patch for this bug has been added to the patch tracker. The mailing list url for the patch is http://gcc.gnu.org/ml/gcc-patches/2007-08/msg00239.html Subject: Bug 31214 Author: pault Date: Sat Aug 4 20:46:11 2007 New Revision: 127213 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=127213 Log: 2007-08-04 Paul Thomas <pault@gcc.gnu.org> PR fortran/31214 * symbol.c (get_unique_symtree): Moved from module.c. * module.c (get_unique_symtree): Moved to symbol.c. * decl.c (get_proc_name): Transfer the typespec from the local symbol to the module symbol, in the case that an entry is also a module procedure. Ensure the local symbol is cleaned up by pointing to it with a unique symtree. * dump_parse_tree (gfc_show_code_node): Add EXEC_ASSIGN_CALL. 2007-08-04 Paul Thomas <pault@gcc.gnu.org> PR fortran/31214 * gfortran.dg/entry_13.f90: New test. * gfortran.dg/entry_12.f90: Clean up .mod file. Added: trunk/gcc/testsuite/gfortran.dg/entry_13.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/decl.c trunk/gcc/fortran/dump-parse-tree.c trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/module.c trunk/gcc/fortran/symbol.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/entry_12.f90 Subject: Bug 31214 Author: pault Date: Sat Aug 4 20:58:11 2007 New Revision: 127214 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=127214 Log: 2007-08-04 Paul Thomas <pault@gcc.gnu.org> PR fortran/31214 * symbol.c (get_unique_symtree): Moved from module.c. * module.c (get_unique_symtree): Moved to symbol.c. * decl.c (get_proc_name): Transfer the typespec from the local symbol to the module symbol, in the case that an entry is also a module procedure. Ensure the local symbol is cleaned up by pointing to it with a unique symtree. * dump_parse_tree (gfc_show_code_node): Add EXEC_ASSIGN_CALL. 2007-08-04 Paul Thomas <pault@gcc.gnu.org> PR fortran/31214 * gfortran.dg/entry_13.f90: New test. * gfortran.dg/entry_12.f90: Clean up .mod file. Modified: trunk/gcc/fortran/ChangeLog Fixed by Paul. |