public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/45933] New: [4.6 regression] ICE in gfc_add_component_ref, at fortran/class.c:77
@ 2010-10-07 13:11 mikael at gcc dot gnu.org
  2010-10-07 13:17 ` [Bug fortran/45933] " mikael at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: mikael at gcc dot gnu.org @ 2010-10-07 13:11 UTC (permalink / raw)
  To: gcc-bugs

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

           Summary: [4.6 regression] ICE in gfc_add_component_ref, at
                    fortran/class.c:77
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: mikael@gcc.gnu.org


Reported at http://gcc.gnu.org/ml/fortran/2010-10/msg00078.html
reduced testcase in a follow-up message:


MODULE DEF1
  TYPE :: DAT
    INTEGER :: NN
  CONTAINS
    PROCEDURE :: LESS_THAN
    GENERIC :: OPERATOR (.LT.) => LESS_THAN
  END TYPE
CONTAINS
  LOGICAL FUNCTION LESS_THAN(A, B)
    CLASS (DAT), INTENT (IN) :: A, B
    LESS_THAN = (A%NN .LT. B%NN)
  END FUNCTION
END MODULE

PROGRAM P
  USE DEF1
  TYPE NODE
    TYPE (DAT), POINTER :: PT
  END TYPE
  CLASS (NODE),POINTER :: A, B
  PRINT *, A%PT .LT. B%PT
END


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

* [Bug fortran/45933] [4.6 regression] ICE in gfc_add_component_ref, at fortran/class.c:77
  2010-10-07 13:11 [Bug fortran/45933] New: [4.6 regression] ICE in gfc_add_component_ref, at fortran/class.c:77 mikael at gcc dot gnu.org
@ 2010-10-07 13:17 ` mikael at gcc dot gnu.org
  2010-10-07 13:18 ` [Bug fortran/45933] [4.6 regression] [OOP] " janus at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: mikael at gcc dot gnu.org @ 2010-10-07 13:17 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Mikael Morin <mikael at gcc dot gnu.org> 2010-10-07 13:17:12 UTC ---
Don't know if they are related, but there are already several ICEs of the same
kind on bugzilla: 

http://gcc.gnu.org/bugzilla/buglist.cgi?short_desc=gfc_add_component_ref&cf_known_to_fail_type=allwords&cf_known_to_work_type=allwords&query_format=advanced&short_desc_type=allwordssubstr&component=fortran&product=gcc


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

* [Bug fortran/45933] [4.6 regression] [OOP] ICE in gfc_add_component_ref, at fortran/class.c:77
  2010-10-07 13:11 [Bug fortran/45933] New: [4.6 regression] ICE in gfc_add_component_ref, at fortran/class.c:77 mikael at gcc dot gnu.org
  2010-10-07 13:17 ` [Bug fortran/45933] " mikael at gcc dot gnu.org
@ 2010-10-07 13:18 ` janus at gcc dot gnu.org
  2010-10-07 13:55 ` janus at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: janus at gcc dot gnu.org @ 2010-10-07 13:18 UTC (permalink / raw)
  To: gcc-bugs

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

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2010.10.07 13:18:22
                 CC|                            |janus at gcc dot gnu.org
            Summary|[4.6 regression] ICE in     |[4.6 regression] [OOP] ICE
                   |gfc_add_component_ref, at   |in gfc_add_component_ref,
                   |fortran/class.c:77          |at fortran/class.c:77
     Ever Confirmed|0                           |1


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

* [Bug fortran/45933] [4.6 regression] [OOP] ICE in gfc_add_component_ref, at fortran/class.c:77
  2010-10-07 13:11 [Bug fortran/45933] New: [4.6 regression] ICE in gfc_add_component_ref, at fortran/class.c:77 mikael at gcc dot gnu.org
  2010-10-07 13:17 ` [Bug fortran/45933] " mikael at gcc dot gnu.org
  2010-10-07 13:18 ` [Bug fortran/45933] [4.6 regression] [OOP] " janus at gcc dot gnu.org
@ 2010-10-07 13:55 ` janus at gcc dot gnu.org
  2010-10-07 17:35 ` janus at gcc dot gnu.org
  2010-10-07 17:41 ` janus at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: janus at gcc dot gnu.org @ 2010-10-07 13:55 UTC (permalink / raw)
  To: gcc-bugs

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

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|unassigned at gcc dot       |janus at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #2 from janus at gcc dot gnu.org 2010-10-07 13:55:02 UTC ---
Mine. Here's a patch:

Index: gcc/fortran/resolve.c
===================================================================
--- gcc/fortran/resolve.c    (revision 165052)
+++ gcc/fortran/resolve.c    (working copy)
@@ -5719,13 +5719,12 @@ resolve_typebound_function (gfc_expr* e)

   /* Deal with typebound operators for CLASS objects.  */
   expr = e->value.compcall.base_object;
-  if (expr && expr->symtree->n.sym->ts.type == BT_CLASS
-    && e->value.compcall.name)
+  if (expr && expr->ts.type == BT_CLASS && e->value.compcall.name)
     {
       /* Since the typebound operators are generic, we have to ensure
      that any delays in resolution are corrected and that the vtab
      is present.  */
-      ts = expr->symtree->n.sym->ts;
+      ts = expr->ts;
       declared = ts.u.derived;
       c = gfc_find_component (declared, "$vptr", true, true);
       if (c->ts.u.derived == NULL)


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

* [Bug fortran/45933] [4.6 regression] [OOP] ICE in gfc_add_component_ref, at fortran/class.c:77
  2010-10-07 13:11 [Bug fortran/45933] New: [4.6 regression] ICE in gfc_add_component_ref, at fortran/class.c:77 mikael at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2010-10-07 13:55 ` janus at gcc dot gnu.org
@ 2010-10-07 17:35 ` janus at gcc dot gnu.org
  2010-10-07 17:41 ` janus at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: janus at gcc dot gnu.org @ 2010-10-07 17:35 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from janus at gcc dot gnu.org 2010-10-07 17:35:23 UTC ---
Author: janus
Date: Thu Oct  7 17:35:18 2010
New Revision: 165126

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=165126
Log:
2010-10-07  Janus Weil  <janus@gcc.gnu.org>

    PR fortran/45933
    * resolve.c (resolve_typebound_function): Use correct declared type
    for type-bound operators.


2010-10-07  Janus Weil  <janus@gcc.gnu.org>

    PR fortran/45933
    * gfortran.dg/typebound_operator_5.f03: New.

Added:
    trunk/gcc/testsuite/gfortran.dg/typebound_operator_5.f03
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/resolve.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug fortran/45933] [4.6 regression] [OOP] ICE in gfc_add_component_ref, at fortran/class.c:77
  2010-10-07 13:11 [Bug fortran/45933] New: [4.6 regression] ICE in gfc_add_component_ref, at fortran/class.c:77 mikael at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2010-10-07 17:35 ` janus at gcc dot gnu.org
@ 2010-10-07 17:41 ` janus at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: janus at gcc dot gnu.org @ 2010-10-07 17:41 UTC (permalink / raw)
  To: gcc-bugs

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

janus at gcc dot gnu.org changed:

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

--- Comment #4 from janus at gcc dot gnu.org 2010-10-07 17:41:16 UTC ---
Fixed with r165126. Closing.


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

end of thread, other threads:[~2010-10-07 17:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-07 13:11 [Bug fortran/45933] New: [4.6 regression] ICE in gfc_add_component_ref, at fortran/class.c:77 mikael at gcc dot gnu.org
2010-10-07 13:17 ` [Bug fortran/45933] " mikael at gcc dot gnu.org
2010-10-07 13:18 ` [Bug fortran/45933] [4.6 regression] [OOP] " janus at gcc dot gnu.org
2010-10-07 13:55 ` janus at gcc dot gnu.org
2010-10-07 17:35 ` janus at gcc dot gnu.org
2010-10-07 17:41 ` janus at gcc dot gnu.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).