public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/60231] New: ICE on undefined generic
@ 2014-02-16 22:16 antony at cosmologist dot info
2014-02-17 9:06 ` [Bug fortran/60231] [4.8/4.9 Regression] " janus at gcc dot gnu.org
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: antony at cosmologist dot info @ 2014-02-16 22:16 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60231
Bug ID: 60231
Summary: ICE on undefined generic
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: antony at cosmologist dot info
SampleTest.f90 containing
module Objects
Type TObjectList
contains
procedure :: Add1
procedure :: Add2
generic :: Add => Add1, Add2
end Type TObjectList
end module Objects
gives
gfortran -c SampleTest.f90
f951: internal compiler error: Segmentation fault
0x85faaea crash_signal
../../gcc-trunk/gcc/toplev.c:337
0x81ca0a4 check_generic_tbp_ambiguity
../../gcc-trunk/gcc/fortran/resolve.c:11393
0x81ca24b resolve_tb_generic_targets
../../gcc-trunk/gcc/fortran/resolve.c:11482
0x81ca820 resolve_typebound_generic
../../gcc-trunk/gcc/fortran/resolve.c:11539
0x81ca820 resolve_typebound_procedure
../../gcc-trunk/gcc/fortran/resolve.c:11713
0x81ee7fa do_traverse_symtree
../../gcc-trunk/gcc/fortran/symbol.c:3581
0x81dd2c0 resolve_typebound_procedures
../../gcc-trunk/gcc/fortran/resolve.c:11910
0x81dd2c0 resolve_fl_derived
../../gcc-trunk/gcc/fortran/resolve.c:12519
0x81d82a6 resolve_symbol
../../gcc-trunk/gcc/fortran/resolve.c:12786
0x81ee7be do_traverse_symtree
../../gcc-trunk/gcc/fortran/symbol.c:3575
0x81db14d resolve_types
../../gcc-trunk/gcc/fortran/resolve.c:14491
0x81d706c gfc_resolve
../../gcc-trunk/gcc/fortran/resolve.c:14588
0x81c323f gfc_parse_file()
../../gcc-trunk/gcc/fortran/parse.c:4672
0x81ff6c5 gfc_be_parse_file
../../gcc-trunk/gcc/fortran/f95-lang.c:188
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug fortran/60231] [4.8/4.9 Regression] ICE on undefined generic
2014-02-16 22:16 [Bug fortran/60231] New: ICE on undefined generic antony at cosmologist dot info
@ 2014-02-17 9:06 ` janus at gcc dot gnu.org
2014-02-17 9:20 ` janus at gcc dot gnu.org
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: janus at gcc dot gnu.org @ 2014-02-17 9:06 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60231
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-on-invalid-code
Status|UNCONFIRMED |NEW
Last reconfirmed| |2014-02-17
CC| |janus at gcc dot gnu.org
Summary|ICE on undefined generic |[4.8/4.9 Regression] ICE on
| |undefined generic
Ever confirmed|0 |1
--- Comment #1 from janus at gcc dot gnu.org ---
Confirmed. The ICE occurs with 4.8 and trunk, but 4.7 gives the following:
c0.f90:7.19:
generic :: Add => Add1, Add2
1
Error: 'add1' and 'add2' for GENERIC 'add' at (1) are ambiguous
c0.f90:5.12:
procedure :: Add1
1
Error: 'add1' must be a module procedure or an external procedure with an
explicit interface at (1)
c0.f90:6.12:
procedure :: Add2
1
Error: 'add2' must be a module procedure or an external procedure with an
explicit interface at (1)
About the first error one can argue, but the second and third one are certainly
correct. Thus the ICE is a regresssion.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug fortran/60231] [4.8/4.9 Regression] ICE on undefined generic
2014-02-16 22:16 [Bug fortran/60231] New: ICE on undefined generic antony at cosmologist dot info
2014-02-17 9:06 ` [Bug fortran/60231] [4.8/4.9 Regression] " janus at gcc dot gnu.org
@ 2014-02-17 9:20 ` janus at gcc dot gnu.org
2014-02-17 12:31 ` janus at gcc dot gnu.org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: janus at gcc dot gnu.org @ 2014-02-17 9:20 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60231
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 ---
This draft patch fixes the ICE:
Index: gcc/fortran/resolve.c
===================================================================
--- gcc/fortran/resolve.c (revision 207804)
+++ gcc/fortran/resolve.c (working copy)
@@ -11362,6 +11362,7 @@ check_generic_tbp_ambiguity (gfc_tbp_generic* t1,
{
gfc_symbol *sym1, *sym2;
const char *pass1, *pass2;
+ gfc_formal_arglist *dummy_args;
gcc_assert (t1->specific && t2->specific);
gcc_assert (!t1->specific->is_generic);
@@ -11384,19 +11385,33 @@ check_generic_tbp_ambiguity (gfc_tbp_generic* t1,
return false;
}
- /* Compare the interfaces. */
+ /* Determine PASS arguments. */
if (t1->specific->nopass)
pass1 = NULL;
else if (t1->specific->pass_arg)
pass1 = t1->specific->pass_arg;
else
- pass1 = gfc_sym_get_dummy_args
(t1->specific->u.specific->n.sym)->sym->name;
+ {
+ dummy_args = gfc_sym_get_dummy_args (t1->specific->u.specific->n.sym);
+ if (dummy_args)
+ pass1 = dummy_args->sym->name;
+ else
+ pass1 = NULL;
+ }
if (t2->specific->nopass)
pass2 = NULL;
else if (t2->specific->pass_arg)
pass2 = t2->specific->pass_arg;
else
- pass2 = gfc_sym_get_dummy_args
(t2->specific->u.specific->n.sym)->sym->name;
+ {
+ dummy_args = gfc_sym_get_dummy_args (t2->specific->u.specific->n.sym);
+ if (dummy_args)
+ pass2 = dummy_args->sym->name;
+ else
+ pass2 = NULL;
+ }
+
+ /* Compare the interfaces. */
if (gfc_compare_interfaces (sym1, sym2, sym2->name, !t1->is_operator, 0,
NULL, 0, pass1, pass2))
{
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug fortran/60231] [4.8/4.9 Regression] ICE on undefined generic
2014-02-16 22:16 [Bug fortran/60231] New: ICE on undefined generic antony at cosmologist dot info
2014-02-17 9:06 ` [Bug fortran/60231] [4.8/4.9 Regression] " janus at gcc dot gnu.org
2014-02-17 9:20 ` janus at gcc dot gnu.org
@ 2014-02-17 12:31 ` janus at gcc dot gnu.org
2014-02-18 7:46 ` janus at gcc dot gnu.org
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: janus at gcc dot gnu.org @ 2014-02-17 12:31 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60231
--- Comment #3 from janus at gcc dot gnu.org ---
(In reply to janus from comment #2)
> This draft patch fixes the ICE:
... and regtests cleanly.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug fortran/60231] [4.8/4.9 Regression] ICE on undefined generic
2014-02-16 22:16 [Bug fortran/60231] New: ICE on undefined generic antony at cosmologist dot info
` (2 preceding siblings ...)
2014-02-17 12:31 ` janus at gcc dot gnu.org
@ 2014-02-18 7:46 ` janus at gcc dot gnu.org
2014-02-19 7:39 ` janus at gcc dot gnu.org
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: janus at gcc dot gnu.org @ 2014-02-18 7:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60231
--- Comment #4 from janus at gcc dot gnu.org ---
Author: janus
Date: Tue Feb 18 07:45:39 2014
New Revision: 207836
URL: http://gcc.gnu.org/viewcvs?rev=207836&root=gcc&view=rev
Log:
2014-02-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/60231
* resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
arguments to prevent ICE.
2014-02-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/60231
* gfortran.dg/typebound_generic_15.f90: New.
Added:
trunk/gcc/testsuite/gfortran.dg/typebound_generic_15.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug fortran/60231] [4.8/4.9 Regression] ICE on undefined generic
2014-02-16 22:16 [Bug fortran/60231] New: ICE on undefined generic antony at cosmologist dot info
` (3 preceding siblings ...)
2014-02-18 7:46 ` janus at gcc dot gnu.org
@ 2014-02-19 7:39 ` janus at gcc dot gnu.org
2014-02-19 7:54 ` janus at gcc dot gnu.org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: janus at gcc dot gnu.org @ 2014-02-19 7:39 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60231
--- Comment #5 from janus at gcc dot gnu.org ---
Author: janus
Date: Wed Feb 19 07:38:45 2014
New Revision: 207876
URL: http://gcc.gnu.org/viewcvs?rev=207876&root=gcc&view=rev
Log:
2014-02-19 Janus Weil <janus@gcc.gnu.org>
Backports from mainline:
2014-02-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/55907
* resolve.c (build_default_init_expr): Don't initialize character
variable if -fno-automatic is given.
2014-02-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/60231
* resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
arguments to prevent ICE.
2014-02-19 Janus Weil <janus@gcc.gnu.org>
Backports from mainline:
2014-02-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/55907
* gfortran.dg/init_flag_12.f90: New.
2014-02-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/60231
* gfortran.dg/typebound_generic_15.f90: New.
Added:
branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/init_flag_12.f90
branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/typebound_generic_15.f90
Modified:
branches/gcc-4_8-branch/gcc/fortran/ChangeLog
branches/gcc-4_8-branch/gcc/fortran/resolve.c
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug fortran/60231] [4.8/4.9 Regression] ICE on undefined generic
2014-02-16 22:16 [Bug fortran/60231] New: ICE on undefined generic antony at cosmologist dot info
` (4 preceding siblings ...)
2014-02-19 7:39 ` janus at gcc dot gnu.org
@ 2014-02-19 7:54 ` janus at gcc dot gnu.org
2014-02-19 7:55 ` janus at gcc dot gnu.org
2014-02-27 20:27 ` janus at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: janus at gcc dot gnu.org @ 2014-02-19 7:54 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60231
--- Comment #6 from janus at gcc dot gnu.org ---
Fixed for 4.8.3 and 4.9.0. Closing.
Thanks for the report!
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug fortran/60231] [4.8/4.9 Regression] ICE on undefined generic
2014-02-16 22:16 [Bug fortran/60231] New: ICE on undefined generic antony at cosmologist dot info
` (5 preceding siblings ...)
2014-02-19 7:54 ` janus at gcc dot gnu.org
@ 2014-02-19 7:55 ` janus at gcc dot gnu.org
2014-02-27 20:27 ` janus at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: janus at gcc dot gnu.org @ 2014-02-19 7:55 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60231
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #7 from janus at gcc dot gnu.org ---
Actually closing.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug fortran/60231] [4.8/4.9 Regression] ICE on undefined generic
2014-02-16 22:16 [Bug fortran/60231] New: ICE on undefined generic antony at cosmologist dot info
` (6 preceding siblings ...)
2014-02-19 7:55 ` janus at gcc dot gnu.org
@ 2014-02-27 20:27 ` janus at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: janus at gcc dot gnu.org @ 2014-02-27 20:27 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60231
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mvondomaros at gmail dot com
--- Comment #8 from janus at gcc dot gnu.org ---
*** Bug 60356 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2014-02-27 20:27 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-16 22:16 [Bug fortran/60231] New: ICE on undefined generic antony at cosmologist dot info
2014-02-17 9:06 ` [Bug fortran/60231] [4.8/4.9 Regression] " janus at gcc dot gnu.org
2014-02-17 9:20 ` janus at gcc dot gnu.org
2014-02-17 12:31 ` janus at gcc dot gnu.org
2014-02-18 7:46 ` janus at gcc dot gnu.org
2014-02-19 7:39 ` janus at gcc dot gnu.org
2014-02-19 7:54 ` janus at gcc dot gnu.org
2014-02-19 7:55 ` janus at gcc dot gnu.org
2014-02-27 20:27 ` 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).