public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/58355] [F03] ICE with TYPE, EXTENDS before parent TYPE defined
[not found] <bug-58355-4@http.gcc.gnu.org/bugzilla/>
@ 2013-09-15 11:30 ` janus at gcc dot gnu.org
2013-09-15 21:53 ` janus at gcc dot gnu.org
` (9 subsequent siblings)
10 siblings, 0 replies; 11+ messages in thread
From: janus at gcc dot gnu.org @ 2013-09-15 11:30 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58355
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-on-invalid-code
Status|UNCONFIRMED |NEW
Last reconfirmed| |2013-09-15
CC| |janus at gcc dot gnu.org
Summary|ICE with TYPE, EXTENDS |[F03] ICE with TYPE,
|before parent TYPE defined |EXTENDS before parent TYPE
| |defined
Ever confirmed|0 |1
--- Comment #1 from janus at gcc dot gnu.org ---
Confirmed with 4.7, 4.8 and trunk. Slightly reduced test case:
module ct
public :: t1
type, extends(t1) :: t2
end type
type :: t1
end type
end
It seems to be invalid according to C428 in F08:
R427 type-attr-spec is ABSTRACT
or access-spec
or BIND (C)
or EXTENDS ( parent-type-name )
C428 (R427) A parent-type-name shall be the name of a previously defined
extensible type (4.5.7).
Btw, leaving out the PUBLIC statement, one gets this error:
type, extends(t1) :: t2
1
Error: No such symbol in TYPE definition at (1)
... which is in principle correct, but a bit ill-worded.
Both variants should be rejected with the same (improved) wording.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/58355] [F03] ICE with TYPE, EXTENDS before parent TYPE defined
[not found] <bug-58355-4@http.gcc.gnu.org/bugzilla/>
2013-09-15 11:30 ` [Bug fortran/58355] [F03] ICE with TYPE, EXTENDS before parent TYPE defined janus at gcc dot gnu.org
@ 2013-09-15 21:53 ` janus at gcc dot gnu.org
2013-09-16 8:26 ` janus at gcc dot gnu.org
` (8 subsequent siblings)
10 siblings, 0 replies; 11+ messages in thread
From: janus at gcc dot gnu.org @ 2013-09-15 21:53 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58355
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |janus at gcc dot gnu.org
--- Comment #2 from janus at gcc dot gnu.org ---
Draft patch:
Index: gcc/fortran/decl.c
===================================================================
--- gcc/fortran/decl.c (revision 202599)
+++ gcc/fortran/decl.c (working copy)
@@ -7390,6 +7390,7 @@ syntax:
/* Check a derived type that is being extended. */
+
static gfc_symbol*
check_extended_derived_type (char *name)
{
@@ -7401,14 +7402,15 @@ check_extended_derived_type (char *name)
return NULL;
}
+ extended = gfc_find_dt_in_generic (extended);
+
+ /* F08:C428. */
if (!extended)
{
- gfc_error ("No such symbol in TYPE definition at %C");
+ gfc_error ("Symbol '%s' at %C has not been previously defined", name);
return NULL;
}
- extended = gfc_find_dt_in_generic (extended);
-
if (extended->attr.flavor != FL_DERIVED)
{
gfc_error ("'%s' in EXTENDS expression at %C is not a "
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/58355] [F03] ICE with TYPE, EXTENDS before parent TYPE defined
[not found] <bug-58355-4@http.gcc.gnu.org/bugzilla/>
2013-09-15 11:30 ` [Bug fortran/58355] [F03] ICE with TYPE, EXTENDS before parent TYPE defined janus at gcc dot gnu.org
2013-09-15 21:53 ` janus at gcc dot gnu.org
@ 2013-09-16 8:26 ` janus at gcc dot gnu.org
2013-09-20 14:10 ` [Bug fortran/58355] [4.7/4.8/4.9 Regression] " janus at gcc dot gnu.org
` (7 subsequent siblings)
10 siblings, 0 replies; 11+ messages in thread
From: janus at gcc dot gnu.org @ 2013-09-16 8:26 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58355
--- Comment #3 from janus at gcc dot gnu.org ---
(In reply to janus from comment #2)
> Draft patch:
... regtests cleanly.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/58355] [4.7/4.8/4.9 Regression] [F03] ICE with TYPE, EXTENDS before parent TYPE defined
[not found] <bug-58355-4@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2013-09-16 8:26 ` janus at gcc dot gnu.org
@ 2013-09-20 14:10 ` janus at gcc dot gnu.org
2013-09-23 7:40 ` janus at gcc dot gnu.org
` (6 subsequent siblings)
10 siblings, 0 replies; 11+ messages in thread
From: janus at gcc dot gnu.org @ 2013-09-20 14:10 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58355
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[F03] ICE with TYPE, |[4.7/4.8/4.9 Regression]
|EXTENDS before parent TYPE |[F03] ICE with TYPE,
|defined |EXTENDS before parent TYPE
| |defined
--- Comment #4 from janus at gcc dot gnu.org ---
Btw, the ICE is a regression in 4.7 and above (doesn't occur with 4.6).
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/58355] [4.7/4.8/4.9 Regression] [F03] ICE with TYPE, EXTENDS before parent TYPE defined
[not found] <bug-58355-4@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2013-09-20 14:10 ` [Bug fortran/58355] [4.7/4.8/4.9 Regression] " janus at gcc dot gnu.org
@ 2013-09-23 7:40 ` janus at gcc dot gnu.org
2013-09-23 7:45 ` janus at gcc dot gnu.org
` (5 subsequent siblings)
10 siblings, 0 replies; 11+ messages in thread
From: janus at gcc dot gnu.org @ 2013-09-23 7:40 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58355
--- Comment #5 from janus at gcc dot gnu.org ---
Author: janus
Date: Mon Sep 23 07:40:39 2013
New Revision: 202823
URL: http://gcc.gnu.org/viewcvs?rev=202823&root=gcc&view=rev
Log:
2013-09-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/58355
* decl.c (check_extended_derived_type): Prevent segfault, modify error
message.
2013-09-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/58355
* gfortran.dg/extends_15.f90: New.
Added:
trunk/gcc/testsuite/gfortran.dg/extends_15.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/decl.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/58355] [4.7/4.8/4.9 Regression] [F03] ICE with TYPE, EXTENDS before parent TYPE defined
[not found] <bug-58355-4@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2013-09-23 7:40 ` janus at gcc dot gnu.org
@ 2013-09-23 7:45 ` janus at gcc dot gnu.org
2013-10-11 8:26 ` fgao7 at hotmail dot com
` (4 subsequent siblings)
10 siblings, 0 replies; 11+ messages in thread
From: janus at gcc dot gnu.org @ 2013-09-23 7:45 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58355
--- Comment #6 from janus at gcc dot gnu.org ---
Fixed on trunk with r202823. Backports pending ...
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/58355] [4.7/4.8/4.9 Regression] [F03] ICE with TYPE, EXTENDS before parent TYPE defined
[not found] <bug-58355-4@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2013-09-23 7:45 ` janus at gcc dot gnu.org
@ 2013-10-11 8:26 ` fgao7 at hotmail dot com
2013-11-02 10:04 ` janus at gcc dot gnu.org
` (3 subsequent siblings)
10 siblings, 0 replies; 11+ messages in thread
From: fgao7 at hotmail dot com @ 2013-10-11 8:26 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58355
Feng Gao <fgao7 at hotmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fgao7 at hotmail dot com
--- Comment #7 from Feng Gao <fgao7 at hotmail dot com> ---
Changing
type, extends(t1)
to
type, extends(ct) ! note ct is the module name
will produce the same ICE with gfortran 4.7
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/58355] [4.7/4.8/4.9 Regression] [F03] ICE with TYPE, EXTENDS before parent TYPE defined
[not found] <bug-58355-4@http.gcc.gnu.org/bugzilla/>
` (6 preceding siblings ...)
2013-10-11 8:26 ` fgao7 at hotmail dot com
@ 2013-11-02 10:04 ` janus at gcc dot gnu.org
2013-11-02 12:52 ` janus at gcc dot gnu.org
` (2 subsequent siblings)
10 siblings, 0 replies; 11+ messages in thread
From: janus at gcc dot gnu.org @ 2013-11-02 10:04 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58355
--- Comment #8 from janus at gcc dot gnu.org ---
(In reply to Feng Gao from comment #7)
> Changing
> type, extends(t1)
> to
> type, extends(ct) ! note ct is the module name
> will produce the same ICE with gfortran 4.7
That is true, but also the original test cases (comment 0 and 1) already ICE
with 4.7 ...
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/58355] [4.7/4.8/4.9 Regression] [F03] ICE with TYPE, EXTENDS before parent TYPE defined
[not found] <bug-58355-4@http.gcc.gnu.org/bugzilla/>
` (7 preceding siblings ...)
2013-11-02 10:04 ` janus at gcc dot gnu.org
@ 2013-11-02 12:52 ` janus at gcc dot gnu.org
2013-11-02 15:56 ` janus at gcc dot gnu.org
2013-11-02 15:58 ` janus at gcc dot gnu.org
10 siblings, 0 replies; 11+ messages in thread
From: janus at gcc dot gnu.org @ 2013-11-02 12:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58355
--- Comment #9 from janus at gcc dot gnu.org ---
Author: janus
Date: Sat Nov 2 12:52:04 2013
New Revision: 204318
URL: http://gcc.gnu.org/viewcvs?rev=204318&root=gcc&view=rev
Log:
2013-11-02 Janus Weil <janus@gcc.gnu.org>
Backport from mainline
2013-09-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/58355
* decl.c (check_extended_derived_type): Prevent segfault, modify error
message.
2013-11-02 Janus Weil <janus@gcc.gnu.org>
Backport from mainline
2013-09-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/58355
* gfortran.dg/extends_15.f90: New.
Added:
branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/extends_15.f90
- copied unchanged from r202823,
trunk/gcc/testsuite/gfortran.dg/extends_15.f90
Modified:
branches/gcc-4_8-branch/gcc/fortran/ChangeLog
branches/gcc-4_8-branch/gcc/fortran/decl.c
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/58355] [4.7/4.8/4.9 Regression] [F03] ICE with TYPE, EXTENDS before parent TYPE defined
[not found] <bug-58355-4@http.gcc.gnu.org/bugzilla/>
` (8 preceding siblings ...)
2013-11-02 12:52 ` janus at gcc dot gnu.org
@ 2013-11-02 15:56 ` janus at gcc dot gnu.org
2013-11-02 15:58 ` janus at gcc dot gnu.org
10 siblings, 0 replies; 11+ messages in thread
From: janus at gcc dot gnu.org @ 2013-11-02 15:56 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58355
--- Comment #10 from janus at gcc dot gnu.org ---
Author: janus
Date: Sat Nov 2 15:56:35 2013
New Revision: 204320
URL: http://gcc.gnu.org/viewcvs?rev=204320&root=gcc&view=rev
Log:
2013-11-02 Janus Weil <janus@gcc.gnu.org>
Backport from mainline
2013-09-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/58355
* decl.c (check_extended_derived_type): Prevent segfault, modify error
message.
2013-11-02 Janus Weil <janus@gcc.gnu.org>
Backport from mainline
2013-09-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/58355
* gfortran.dg/extends_15.f90: New.
Added:
branches/gcc-4_7-branch/gcc/testsuite/gfortran.dg/extends_15.f90
- copied unchanged from r202823,
trunk/gcc/testsuite/gfortran.dg/extends_15.f90
Modified:
branches/gcc-4_7-branch/gcc/fortran/ChangeLog
branches/gcc-4_7-branch/gcc/fortran/decl.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug fortran/58355] [4.7/4.8/4.9 Regression] [F03] ICE with TYPE, EXTENDS before parent TYPE defined
[not found] <bug-58355-4@http.gcc.gnu.org/bugzilla/>
` (9 preceding siblings ...)
2013-11-02 15:56 ` janus at gcc dot gnu.org
@ 2013-11-02 15:58 ` janus at gcc dot gnu.org
10 siblings, 0 replies; 11+ messages in thread
From: janus at gcc dot gnu.org @ 2013-11-02 15:58 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58355
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #11 from janus at gcc dot gnu.org ---
The fix has been backported to the 4.7 and 4.8 branches. Closing.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2013-11-02 15:58 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <bug-58355-4@http.gcc.gnu.org/bugzilla/>
2013-09-15 11:30 ` [Bug fortran/58355] [F03] ICE with TYPE, EXTENDS before parent TYPE defined janus at gcc dot gnu.org
2013-09-15 21:53 ` janus at gcc dot gnu.org
2013-09-16 8:26 ` janus at gcc dot gnu.org
2013-09-20 14:10 ` [Bug fortran/58355] [4.7/4.8/4.9 Regression] " janus at gcc dot gnu.org
2013-09-23 7:40 ` janus at gcc dot gnu.org
2013-09-23 7:45 ` janus at gcc dot gnu.org
2013-10-11 8:26 ` fgao7 at hotmail dot com
2013-11-02 10:04 ` janus at gcc dot gnu.org
2013-11-02 12:52 ` janus at gcc dot gnu.org
2013-11-02 15:56 ` janus at gcc dot gnu.org
2013-11-02 15:58 ` 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).