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
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>
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>
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>
--- /dev/null
+! { 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