* [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