This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/48786] [OOP] Generic ambiguity check too strict for polymorphic dummies


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?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]