[Bug fortran/48786] [OOP] Generic ambiguity check too strict for polymorphic dummies
dominiq at lps dot ens.fr
gcc-bugzilla@gcc.gnu.org
Tue Jul 2 09:13:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48786
Dominique d'Humieres <dominiq at lps dot ens.fr> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
Last reconfirmed| |2013-07-02
Ever confirmed|0 |1
--- Comment #8 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
For the record, the link in comment #6 is now
http://mailman.j3-fortran.org/pipermail/j3/2011-May/004366.html
This PR is quite difficult to follow. AFAICT the main issue has been fixed
almost two years ago:
(1) The errors of the kind
Error: 'add_vector_3d' and 'add_vector_2d' for GENERIC '+' at (1) are ambiguous
are valid.
(2) The test in attachment 24141 compiles and run without error (however
valgrind reports a memory leak) since revision 178509 (4.7, 2011-09-04).
(3) Up to revision 177649 (2011-08-11), the test compiled but aborted at run
time with
Two-dimensional walk:
a.out(48088) malloc: *** error for object 0x7fff5fbfd690: pointer being freed
was not allocated
*** set a breakpoint in malloc_error_break to debug
(4) The original test at
https://groups.google.com/forum/?hl=it#!topic/comp.lang.fortran/4Y0ENMRlmOI
gives the result expected by Salvatore Filippone and if I remove the commented
lines, I get
pr48786_5_db.f90:30.29:
generic, public :: do => doit
1
Error: 'doit2' and 'doit' for GENERIC 'do' at (1) are ambiguous
pr48786_5_db.f90:31.29:
generic, public :: get => getit
1
Error: 'getit2' and 'getit' for GENERIC 'get' at (1) are ambiguous
pr48786_5_db.f90:51.6:
use foo2_mod
1
Fatal Error: Can't open module file 'foo2_mod.mod' for reading at (1): No such
file or directory
I have only one issue left: the test by Ian Harvey at
https://groups.google.com/forum/#!topic/comp.lang.fortran/Sk6IX2i2YL0
gives an ICE when compiled with a clean revision 200078:
pr48786_1.f90:4.43:
CHARACTER(:), ALLOCATABLE :: some_text
1
Error: Deferred-length character component 'some_text' at (1) is not yet
supported
... repeated several times ...
f951: internal compiler error: in matching_typebound_op, at
fortran/interface.c:3535
f951: internal compiler error: Abort trap
gfcc: internal compiler error: Abort trap (program f951)
Abort
My proposal is to close this PR as fixed and to open a new one for the
remaining issue. Any objection?
More information about the Gcc-bugs
mailing list