This is the mail archive of the gcc-patches@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]

Re: [Patch, Fortran, OOP] PR 49638: [OOP] length parameter is ignored when overriding type bound character functions with constant length.


On Friday 05 August 2011 19:30:49 Janus Weil wrote:
> Hi Mikael,
> 
> >> The extra
> >> argument controls whether we check variable symbols for equality or
> >> just their names. For the overriding checks it is sufficient to check
> >> for names, because the arguments of the overriding procedure are
> >> required to have the same names as in the base procedure.
> > 
> > Unless you extend the flag thing to all the children function of
> > gfc_dep_compare_expr (there are zillions of them), it is preferable IMO
> > to make the diagnostic a warning, as identical expressions could be
> > missed.
> 
> Well, it would not be really satisfying to degrade the error to a
> warning, knowing it may be wrong sometimes. So I think one should
> rather fix this, which I think is not as hard as you suggest:
> gfc_dep_compare_expr doesn't exactly have "zillions" of children, but
> just two AFAICS:
> 
>  * gfc_are_identical_variables
gfc_are_identical_variables pulls in identical_array_ref too.
identical_array_ref can pull check_section_vs_section which needs 
gfc_is_same_range. ;-)

>  * gfc_dep_compare_functions
>  
> Apart from those two, it is highly recursive and mostly calls itself,
> where the argument is passed on already. 
Yes, OK there are not zillions of them (I thought almost all of dependency.c 
was pulled in).

> So I think it's feasible to
> add the extra argument to the above two functions, too (unless anyone
> has a better idea).
I still think that there could be some other cases that gfc_dep_compare_expr 
could possibly miss; but they are corner cases if functions and variables refs 
are handled, so an error is IMO OK then. We can wait a bug report to popup 
about it before deciding to downgrade to a warning. 

Mikael


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