From: pault Date: Tue, 22 Jan 2008 06:01:54 +0000 (+0000) Subject: 2008-01-22 Paul Thomas X-Git-Tag: upstream/4.9.2~44058 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cc24761c94736e83257179772eefef81ccc54c12;p=platform%2Fupstream%2Flinaro-gcc.git 2008-01-22 Paul Thomas PR fortran/34896 * module.c (read_module): Set use_rename attribute. 2008-01-22 Paul Thomas PR fortran/34896 * gfortran.dg/use_rename_2.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131712 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 6446e95..c6be613 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2008-01-22 Paul Thomas + + PR fortran/34896 + * module.c (read_module): Set use_rename attribute. + 2007-01-21 Tobias Burnus PR fortran/34901 diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c index fe57b9d..c2dc27a 100644 --- a/gcc/fortran/module.c +++ b/gcc/fortran/module.c @@ -3769,6 +3769,9 @@ read_module (void) st->n.sym = sym; st->n.sym->refs++; + if (strcmp (name, p) != 0) + sym->attr.use_rename = 1; + /* Store the symtree pointing to this symbol. */ info->u.rsym.symtree = st; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8d8bc99..b3095a1 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-01-22 Paul Thomas + + PR fortran/34896 + * gfortran.dg/use_rename_2.f90: New test. + 2008-01-21 Richard Guenther PR middle-end/34856 diff --git a/gcc/testsuite/gfortran.dg/use_rename_2.f90 b/gcc/testsuite/gfortran.dg/use_rename_2.f90 new file mode 100644 index 0000000..3ca6f69 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/use_rename_2.f90 @@ -0,0 +1,26 @@ +! { dg-do run } +! { dg-options "-O1" } +! Checks the fix for PR34896 which was a regression that prevented max +! and min from being interchanged by the USE statement below. It is further +! checked by libgomp/testsuite/libgomp.fortran/reduction5.f90 +! +! Reported by H.J. Lu +! +module reduction5 + intrinsic min, max +end module reduction5 + +program reduction_5_regression + call test2 +contains + subroutine test2 + use reduction5, min => max, max => min + integer a, b + a = max (1,5) + b = min (1,5) + if (a .ne. 1) call abort () + if (b .ne. 5) call abort () + end subroutine test2 +end + +! { dg-final { cleanup-modules "reduction5" } }