public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug fortran/46413] New: [OOP] ICE when printing a polymorphic type @ 2010-11-10 13:53 burnus at gcc dot gnu.org 2010-11-11 9:16 ` [Bug fortran/46413] " burnus at gcc dot gnu.org ` (2 more replies) 0 siblings, 3 replies; 4+ messages in thread From: burnus at gcc dot gnu.org @ 2010-11-10 13:53 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46413 Summary: [OOP] ICE when printing a polymorphic type Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned@gcc.gnu.org ReportedBy: burnus@gcc.gnu.org CC: janus@gcc.gnu.org The following invalid program gives an ICE: test.f90:7:0: internal compiler error: Bad IO basetype (7) type t integer :: ii =5 end type t class(t), allocatable :: x allocate (t :: x) print *,x ! PRINT of polymorphic type. end ifort prints: test.f90(7): error #8303: A list item shall not be polymorphic unless it is processed by a user-defined derived-type input/output procedure. [X] "9.6.3 Data transfer input/output list" "A list item shall not be polymorphic unless it is processed by a de\fned input/output procedure (9.6.4.8)." ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug fortran/46413] [OOP] ICE when printing a polymorphic type 2010-11-10 13:53 [Bug fortran/46413] New: [OOP] ICE when printing a polymorphic type burnus at gcc dot gnu.org @ 2010-11-11 9:16 ` burnus at gcc dot gnu.org 2010-11-11 23:07 ` burnus at gcc dot gnu.org 2010-11-11 23:09 ` burnus at gcc dot gnu.org 2 siblings, 0 replies; 4+ messages in thread From: burnus at gcc dot gnu.org @ 2010-11-11 9:16 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46413 --- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-11 09:16:08 UTC --- Untested patch: Index: resolve.c =================================================================== --- resolve.c (Revision 166596) +++ resolve.c (Arbeitskopie) @@ -7948,6 +7948,15 @@ resolve_transfer (gfc_code *code) if (ref->type == REF_COMPONENT) ts = &ref->u.c.component->ts; + if (ts->type == BT_CLASS) + { + /* FIXME: Test whether there defined input/output is done. */ + gfc_error ("Data transfer element at %L cannot be polymorphic unless " + "it is processed by a defined input/output procedure", + &code->loc); + return; + } + if (ts->type == BT_DERIVED) { /* Check that transferred derived type doesn't contain POINTER ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug fortran/46413] [OOP] ICE when printing a polymorphic type 2010-11-10 13:53 [Bug fortran/46413] New: [OOP] ICE when printing a polymorphic type burnus at gcc dot gnu.org 2010-11-11 9:16 ` [Bug fortran/46413] " burnus at gcc dot gnu.org @ 2010-11-11 23:07 ` burnus at gcc dot gnu.org 2010-11-11 23:09 ` burnus at gcc dot gnu.org 2 siblings, 0 replies; 4+ messages in thread From: burnus at gcc dot gnu.org @ 2010-11-11 23:07 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46413 --- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-11 23:07:27 UTC --- Author: burnus Date: Thu Nov 11 23:07:23 2010 New Revision: 166631 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166631 Log: 2010-11-11 Tobias Burnus <burnus@net-b.de> PR fortran/46413 * resolve.c (resolve_transfer): Reject I/O transfer of polymorphic type. PR fortran/46205 * resolve.c (resolve_code): Reject nonscalar FORALL masks. 2010-11-11 Tobias Burnus <burnus@net-b.de> PR fortran/46413 * gfortran.dg/class_31.f90: New. PR fortran/46205 * gfortran.dg/forall_14.f90: New. Added: trunk/gcc/testsuite/gfortran.dg/class_31.f90 trunk/gcc/testsuite/gfortran.dg/forall_14.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/resolve.c trunk/gcc/testsuite/ChangeLog ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug fortran/46413] [OOP] ICE when printing a polymorphic type 2010-11-10 13:53 [Bug fortran/46413] New: [OOP] ICE when printing a polymorphic type burnus at gcc dot gnu.org 2010-11-11 9:16 ` [Bug fortran/46413] " burnus at gcc dot gnu.org 2010-11-11 23:07 ` burnus at gcc dot gnu.org @ 2010-11-11 23:09 ` burnus at gcc dot gnu.org 2 siblings, 0 replies; 4+ messages in thread From: burnus at gcc dot gnu.org @ 2010-11-11 23:09 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46413 Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED --- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-11 23:08:37 UTC --- FIXED on the trunk (4.6). ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-11-11 23:09 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2010-11-10 13:53 [Bug fortran/46413] New: [OOP] ICE when printing a polymorphic type burnus at gcc dot gnu.org 2010-11-11 9:16 ` [Bug fortran/46413] " burnus at gcc dot gnu.org 2010-11-11 23:07 ` burnus at gcc dot gnu.org 2010-11-11 23:09 ` burnus 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).