[Patch, fortran] PR20880 - Failure to detect procedures encompassing own interface

erik.edelmann@iki.fi erik.edelmann@iki.fi
Tue Nov 21 22:37:00 GMT 2006


On Tue, Nov 21, 2006 at 09:45:55AM +0100, Paul Thomas wrote:
> :ADDPATCH fortran:
> 
> This PR is asssociated with the failure of gfortran to recognise 
> interfaces that have the same name as their enclosing scope; either 
> directly or by use association.  The former causes an ICE at present, 
> whilst the latter is quietly accepted.
> 
> The patch and the testcase are straightforward: USE associated 
> procedures are already marked as ambiguous in module.c; Directly 
> enclosed interfaces are checked in gfc_add_explicit_interface.  Note 
> that SUCCESS is returned here to prevent the plethora of secondary 
> errors.  The preceeding error is not amenable to this, as it promptly 
> gets over-ridden by errors concerning type and kind confusion.
> 
> Regtested on suse10.1/amd64  - OK for trunk, 4.2 and 4.1?

I hate being the bringer of bad news, but this patch doesn't reg.test
cleanly for me on trunk (r119061) on Gentoo Linux/x86; I get

FAIL: gfortran.dg/assumed_charlen_function_1.f90  -O  (internal compiler
error)
FAIL: gfortran.dg/assumed_charlen_function_1.f90  -O   (test for errors,
line 46)
FAIL: gfortran.dg/assumed_charlen_function_1.f90  -O   (test for errors,
line 52)
FAIL: gfortran.dg/assumed_charlen_function_1.f90  -O   (test for errors,
line 76)
FAIL: gfortran.dg/assumed_charlen_function_1.f90  -O  (test for excess
errors)
FAIL: gfortran.dg/func_derived_3.f90  -O2  (internal compiler error)
FAIL: gfortran.dg/func_derived_3.f90  -O2  (test for excess errors)
WARNING: gfortran.dg/func_derived_3.f90  -O2  compilation failed to produce
executable
FAIL: gfortran.dg/func_derived_3.f90  -O3 -fomit-frame-pointer  (internal
compiler error)
FAIL: gfortran.dg/func_derived_3.f90  -O3 -fomit-frame-pointer  (test for
excess errors)
WARNING: gfortran.dg/func_derived_3.f90  -O3 -fomit-frame-pointer
compilation failed to produce executable
FAIL: gfortran.dg/func_derived_3.f90  -O3 -fomit-frame-pointer
-funroll-loops  (internal compiler error)
 FAIL: gfortran.dg/func_derived_3.f90  -O3 -fomit-frame-pointer
-funroll-loops  (test for excess errors)
 WARNING: gfortran.dg/func_derived_3.f90  -O3 -fomit-frame-pointer
-funroll-loops  compilation failed to produce ex
 ecutable
FAIL: gfortran.dg/func_derived_3.f90  -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions  (internal co
 mpiler error)
FAIL: gfortran.dg/func_derived_3.f90  -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions  (test for ex
 cess errors)
WARNING: gfortran.dg/func_derived_3.f90  -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions  compilati
 on failed to produce executable
FAIL: gfortran.dg/func_derived_3.f90  -Os  (internal compiler error)
FAIL: gfortran.dg/func_derived_3.f90  -Os  (test for excess errors)
WARNING: gfortran.dg/func_derived_3.f90  -Os  compilation failed to produce
executable
FAIL: gfortran.dg/interface_3.f90  -O  (test for excess errors)


        Erik



More information about the Gcc-patches mailing list