This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, fortran] PR20880 - Failure to detect procedures encompassing own interface
- From: erik dot edelmann at iki dot fi
- To: Paul Thomas <paulthomas2 at wanadoo dot fr>
- Cc: Fortran List <fortran at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 22 Nov 2006 00:29:38 +0200
- Subject: Re: [Patch, fortran] PR20880 - Failure to detect procedures encompassing own interface
- References: <4562BCC3.2090705@wanadoo.fr>
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