Commit 6ba84c31 by Tobias Burnus

re PR fortran/53111 (Derived types cannot be USE-associated again with -std=f95)

2012-05-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53111
        * resolve.c (resolve_fl_derived): Fix -std=f95
        diagnostic for generic vs. DT names.

2012-05-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53111
        * gfortran.dg/constructor_7.f90: New.
        * gfortran.dg/constructor_8.f90: New.

From-SVN: r187174
parent cef31f9c
2012-05-04 Tobias Burnus <burnus@net-b.de>
PR fortran/53111
* resolve.c (resolve_fl_derived): Fix -std=f95
diagnostic for generic vs. DT names.
2012-05-03 Tobias Burnus <burnus@net-b.de>
PR fortran/52864
......
......@@ -12015,6 +12015,8 @@ resolve_fl_derived (gfc_symbol *sym)
if (!sym->attr.is_class)
gfc_find_symbol (sym->name, sym->ns, 0, &gen_dt);
if (gen_dt && gen_dt->generic && gen_dt->generic->next
&& (!gen_dt->generic->sym->attr.use_assoc
|| gen_dt->generic->sym->module != gen_dt->generic->next->sym->module)
&& gfc_notify_std (GFC_STD_F2003, "Fortran 2003: Generic name '%s' of "
"function '%s' at %L being the same name as derived "
"type at %L", sym->name,
......
2012-05-04 Tobias Burnus <burnus@net-b.de>
PR fortran/53111
* gfortran.dg/constructor_7.f90: New.
* gfortran.dg/constructor_8.f90: New.
2012-05-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53166
......@@ -92,10 +98,10 @@
2012-05-03 Greta Yorsh <Greta.Yorsh@arm.com>
* gcc.dg/fixed-point/composite-type.c (dg-options): Add
option -ftrack-macro-expansion=0.
* gcc.dg/fixed-point/operator-bitwise.c (dg-options): Add
option -ftrack-macro-expansion=0.
* gcc.dg/fixed-point/composite-type.c (dg-options): Add
option -ftrack-macro-expansion=0.
* gcc.dg/fixed-point/operator-bitwise.c (dg-options): Add
option -ftrack-macro-expansion=0.
2012-05-03 Greta Yorsh <Greta.Yorsh@arm.com>
......@@ -260,11 +266,11 @@
Fix expansion point loc for macro-like tokens
* gcc.dg/debug/dwarf2/pr41445-5.c: Adjust.
* gcc.dg/debug/dwarf2/pr41445-6.c: Likewise.
* gcc.dg/debug/dwarf2/pr41445-6.c: Likewise.
Fix token pasting with -ftrack-macro-expansion
* gcc.dg/cpp/paste17.c: New test case for
-ftrack-macro-expansion=2 mode only.
-ftrack-macro-expansion=2 mode only.
* gcc.dg/cpp/macro-exp-tracking-5.c: Likewise.
2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
......@@ -274,7 +280,7 @@
2012-04-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 53149
* gcc.dg/20011021-1.c: Adjust testcase.
* gcc.dg/20011021-1.c: Adjust testcase.
2012-04-29 Thomas Koenig <tkoenig@gcc.gnu.org>
......
! { dg-do compile }
! { dg-options "-std=f95" }
!
! PR fortran/53111
!
! ------------ INVALID ONE ------------------------
module m
type t
integer :: i
end type t
end
module m2
interface t
module procedure sub
end interface t
contains
integer function sub()
sub = 4
end function sub
end module m2
! Note: The following is formally valid as long as "t" is not used.
! For simplicity, -std=f95 will give an error.
! It is unlikely that a real-world program is rejected with -std=f95
! because of that.
use m ! { dg-error "Fortran 2003: Generic name 't' of function 'sub' at .1. being the same name as derived type at" }
use m2 ! { dg-error "Fortran 2003: Generic name 't' of function 'sub' at .1. being the same name as derived type at" }
! i = sub() ! << Truly invalid in F95, valid in F2003
end
! ------------ INVALID TWO ------------------------
module m3
type t2 ! { dg-error "Fortran 2003: Generic name 't2' of function 'sub2' at .1. being the same name as derived type at" }
integer :: i
end type t2
interface t2
module procedure sub2
end interface t2
contains
integer function sub2() ! { dg-error "Fortran 2003: Generic name 't2' of function 'sub2' at .1. being the same name as derived type at" }
sub2 = 4
end function sub2
end module m3
! { dg-do compile }
! { dg-options "-std=f95" }
!
! PR fortran/53111
!
! Contributed by Jacob Middag, reduced by Janus Weil.
!
module a
type :: my
real :: x
end type
end module
module b
use a
end module
program test
use a
use b
end program
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment