New: better diagnostic needed
5 answers - 489 bytes -

using GNU Fortran 95 (GCC) 4.1.0 20051126 (prerelease) with '-g -pedantic
-std=f95', I get a bad / no diagnostic for the following invalid code:
MDULE TT
TYPE data_type
INTEGER :: I
END TYPE data_type
INTERFACE ASSIGNMENT (=)
MDULE PRCEDURE set
END INTERFACE
CNTAINS
PURE SUBRUTINE set(x1,*)
TYPE(data_type), INTENT(UT) :: x1
x1%i=0
END SUBRUTINE set
END MDULE
USE TT
TYPE(data_type) D(10)
D(1)=data_type(0)
END
No.1 | | 113 bytes |
| 
Comment #1 from kargl at gcc dot gnu dot org 2005-11-27 03:55
What's broken here? Where are the details?
No.2 | | 198 bytes |
| 
Comment #4 from patchapp at dberlin dot org 2006-08-20 20:20
Subject: Bug number PR25102
A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
No.3 | | 1995 bytes |
| 
Comment #5 from pault at gcc dot gnu dot org 2006-08-30 05:19
Subject: Bug 25102
Author: pault
Date: Wed Aug 30 05:18:36 2006
New Revision: 116578
URL:
Log:
2006-08-30 Paul Thomas <pault (AT) gcc (DOT) gnu.org>
PR fortran/28885
REGRESSIN FIX
* trans-expr.c (gfc_conv_aliased_arg): Ensure that the temp
declaration is retained for INTENT(UT) arguments.
PR fortran/28873
REGRESSIN FIX
PR fortran/20067
* resolve.c (resolve_generic_f): Make error message more
comprehensible.
(resolve_generic_s): Restructure search for specific procedures
to be similar to resolve_generic_f and change to similar error
message. Ensure that symbol reference is refreshed, in case
the search produces a NULL.
(resolve_specific_s): Restructure search, as above and as
resolve_specific_f. Ensure that symbol reference is refreshed,
in case the search produces a NULL.
PR fortran/25077
PR fortran/25102
* interface.c (check_operator_interface): Throw error if the
interface assignment tries to change intrinsic type assigments
or has less than two arguments. Also, it is an error if an
interface operator contains an alternate return.
PR fortran/24866
* parse.c (gfc_fixup_sibling_symbols): Do not modify the symbol
if it is a dummy in the contained namespace.
2006-08-30 Paul Thomas <pault (AT) gcc (DOT) gnu.org>
PR fortran/28885
* New test.
PR fortran/20067
* gfortran.dg/generic_5.f90: Change error message.
PR fortran/28873
* gfortran.dg/generic_6.f90: New test.
PR fortran/25077
* New test.
PR fortran/25102
* New test.
PR fortran/24866
* New test.
Added:
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/interface.c
trunk/gcc/fortran/parse.c
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/trans-expr.c
trunk/gcc/testsuite/ChangeLog
No.4 | | 1798 bytes |
| 
Comment #6 from pault at gcc dot gnu dot org 2006-08-30 05:19
Subject: Bug 25102
Author: pault
Date: Wed Aug 30 05:19:34 2006
New Revision: 116579
URL:
Log:
2006-08-30 Paul Thomas <pault (AT) gcc (DOT) gnu.org>
PR fortran/28885
REGRESSIN FIX
* trans-expr.c (gfc_conv_aliased_arg): Ensure that the temp
declaration is retained for INTENT(UT) arguments.
PR fortran/28873
REGRESSIN FIX
PR fortran/20067
* resolve.c (resolve_generic_f): Make error message more
comprehensible.
(resolve_generic_s): Restructure search for specific procedures
to be similar to resolve_generic_f and change to similar error
message. Ensure that symbol reference is refreshed, in case
the search produces a NULL.
(resolve_specific_s): Restructure search, as above and as
resolve_specific_f. Ensure that symbol reference is refreshed,
in case the search produces a NULL.
PR fortran/25077
PR fortran/25102
* interface.c (check_operator_interface): Throw error if the
interface assignment tries to change intrinsic type assigments
or has less than two arguments. Also, it is an error if an
interface operator contains an alternate return.
PR fortran/24866
* parse.c (gfc_fixup_sibling_symbols): Do not modify the symbol
if it is a dummy in the contained namespace.
2006-08-30 Paul Thomas <pault (AT) gcc (DOT) gnu.org>
PR fortran/28885
* New test.
PR fortran/20067
* gfortran.dg/generic_5.f90: Change error message.
PR fortran/28873
* gfortran.dg/generic_6.f90: New test.
PR fortran/25077
* New test.
PR fortran/25102
* New test.
PR fortran/24866
* New test.
Added:
Modified:
No.5 | | 100 bytes |
| 
Comment #7 from pault at gcc dot gnu dot org 2006-08-30 05:32
Fixed on trunk and 4.1
Paul