public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/31214]  New: ICE on valid code with gfortran
@ 2007-03-16 11:44 jv244 at cam dot ac dot uk
  2007-03-16 19:42 ` [Bug fortran/31214] " fxcoudert at gcc dot gnu dot org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: jv244 at cam dot ac dot uk @ 2007-03-16 11:44 UTC (permalink / raw)
  To: gcc-bugs

A recent gfortran ICEs on the following code:

module type_mod
  implicit none

  type x
     integer x
  end type x
  type y
     integer x
  end type y
  type z
     integer x
  end type z

  interface assignment(=)
     module procedure equals
  end interface assignment(=)

  interface operator(//)
     module procedure a_op_b, b_op_a
  end interface operator(//)

  contains
     subroutine equals(x,y)
        type(z), intent(in) :: y
        type(z), intent(out) :: x

        x%x = y%x
     end subroutine equals

     function a_op_b(a,b)
        type(x), intent(in) :: a
        type(y), intent(in) :: b
        type(z) a_op_b
        type(z) b_op_a
     entry b_op_a(b,a)
        a_op_b%x = a%x/b%x
     end function a_op_b
end module type_mod

program test
  use type_mod
  implicit none
  type(x) :: x1 = x(19)
  type(y) :: y1 = y(7)
  type(z) z1

  z1 = x1//y1
  write(*,*) 'x1//y1 = ',z1
  z1 = y1//x1
  write(*,*) 'y1//x1 = ',z1
end program test


-- 
           Summary: ICE on valid code with gfortran
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jv244 at cam dot ac dot uk


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31214


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/31214] ICE on valid code with gfortran
  2007-03-16 11:44 [Bug fortran/31214] New: ICE on valid code with gfortran jv244 at cam dot ac dot uk
@ 2007-03-16 19:42 ` fxcoudert at gcc dot gnu dot org
  2007-04-07 20:18 ` [Bug fortran/31214] User-defined operator using entry leads to ICE pault at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2007-03-16 19:42 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from fxcoudert at gcc dot gnu dot org  2007-03-16 19:42 -------
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!


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-valid-code
      Known to fail|                            |4.1.3 4.2.0 4.3.0
   Last reconfirmed|0000-00-00 00:00:00         |2007-03-16 19:42:12
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31214


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/31214] User-defined operator using entry leads to ICE
  2007-03-16 11:44 [Bug fortran/31214] New: ICE on valid code with gfortran jv244 at cam dot ac dot uk
  2007-03-16 19:42 ` [Bug fortran/31214] " fxcoudert at gcc dot gnu dot org
@ 2007-04-07 20:18 ` pault at gcc dot gnu dot org
  2007-04-07 20:31 ` pault at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-04-07 20:18 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pault at gcc dot gnu dot org  2007-04-07 21:18 -------
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


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31214


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/31214] User-defined operator using entry leads to ICE
  2007-03-16 11:44 [Bug fortran/31214] New: ICE on valid code with gfortran jv244 at cam dot ac dot uk
  2007-03-16 19:42 ` [Bug fortran/31214] " fxcoudert at gcc dot gnu dot org
  2007-04-07 20:18 ` [Bug fortran/31214] User-defined operator using entry leads to ICE pault at gcc dot gnu dot org
@ 2007-04-07 20:31 ` pault at gcc dot gnu dot org
  2007-05-30 14:04 ` jv244 at cam dot ac dot uk
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-04-07 20:31 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pault at gcc dot gnu dot org  2007-04-07 21:31 -------
Fixed on trumk

Paul


-- 

pault at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31214


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/31214] User-defined operator using entry leads to ICE
  2007-03-16 11:44 [Bug fortran/31214] New: ICE on valid code with gfortran jv244 at cam dot ac dot uk
                   ` (2 preceding siblings ...)
  2007-04-07 20:31 ` pault at gcc dot gnu dot org
@ 2007-05-30 14:04 ` jv244 at cam dot ac dot uk
  2007-06-21 20:48 ` pault at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jv244 at cam dot ac dot uk @ 2007-05-30 14:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from jv244 at cam dot ac dot uk  2007-05-30 14:04 -------
the original testcase fails (again/still?)


-- 

jv244 at cam dot ac dot uk changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31214


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/31214] User-defined operator using entry leads to ICE
  2007-03-16 11:44 [Bug fortran/31214] New: ICE on valid code with gfortran jv244 at cam dot ac dot uk
                   ` (3 preceding siblings ...)
  2007-05-30 14:04 ` jv244 at cam dot ac dot uk
@ 2007-06-21 20:48 ` pault at gcc dot gnu dot org
  2007-08-04 11:50 ` patchapp at dberlin dot org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-06-21 20:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from pault at gcc dot gnu dot org  2007-06-21 20:48 -------
(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


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31214


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/31214] User-defined operator using entry leads to ICE
  2007-03-16 11:44 [Bug fortran/31214] New: ICE on valid code with gfortran jv244 at cam dot ac dot uk
                   ` (4 preceding siblings ...)
  2007-06-21 20:48 ` pault at gcc dot gnu dot org
@ 2007-08-04 11:50 ` patchapp at dberlin dot org
  2007-08-04 20:46 ` pault at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: patchapp at dberlin dot org @ 2007-08-04 11:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from patchapp at dberlin dot org  2007-08-04 11:50 -------
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


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31214


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/31214] User-defined operator using entry leads to ICE
  2007-03-16 11:44 [Bug fortran/31214] New: ICE on valid code with gfortran jv244 at cam dot ac dot uk
                   ` (5 preceding siblings ...)
  2007-08-04 11:50 ` patchapp at dberlin dot org
@ 2007-08-04 20:46 ` pault at gcc dot gnu dot org
  2007-08-04 20:58 ` pault at gcc dot gnu dot org
  2007-08-12 10:28 ` fxcoudert at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-08-04 20:46 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from pault at gcc dot gnu dot org  2007-08-04 20:46 -------
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


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31214


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/31214] User-defined operator using entry leads to ICE
  2007-03-16 11:44 [Bug fortran/31214] New: ICE on valid code with gfortran jv244 at cam dot ac dot uk
                   ` (6 preceding siblings ...)
  2007-08-04 20:46 ` pault at gcc dot gnu dot org
@ 2007-08-04 20:58 ` pault at gcc dot gnu dot org
  2007-08-12 10:28 ` fxcoudert at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-08-04 20:58 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from pault at gcc dot gnu dot org  2007-08-04 20:58 -------
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


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31214


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/31214] User-defined operator using entry leads to ICE
  2007-03-16 11:44 [Bug fortran/31214] New: ICE on valid code with gfortran jv244 at cam dot ac dot uk
                   ` (7 preceding siblings ...)
  2007-08-04 20:58 ` pault at gcc dot gnu dot org
@ 2007-08-12 10:28 ` fxcoudert at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2007-08-12 10:28 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from fxcoudert at gcc dot gnu dot org  2007-08-12 10:27 -------
Fixed by Paul.


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31214


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2007-08-12 10:28 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-03-16 11:44 [Bug fortran/31214] New: ICE on valid code with gfortran jv244 at cam dot ac dot uk
2007-03-16 19:42 ` [Bug fortran/31214] " fxcoudert at gcc dot gnu dot org
2007-04-07 20:18 ` [Bug fortran/31214] User-defined operator using entry leads to ICE pault at gcc dot gnu dot org
2007-04-07 20:31 ` pault at gcc dot gnu dot org
2007-05-30 14:04 ` jv244 at cam dot ac dot uk
2007-06-21 20:48 ` pault at gcc dot gnu dot org
2007-08-04 11:50 ` patchapp at dberlin dot org
2007-08-04 20:46 ` pault at gcc dot gnu dot org
2007-08-04 20:58 ` pault at gcc dot gnu dot org
2007-08-12 10:28 ` fxcoudert at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).