diff options
author | Paul Thomas <pault@gcc.gnu.org> | 2008-01-22 06:01:54 +0000 |
---|---|---|
committer | Paul Thomas <pault@gcc.gnu.org> | 2008-01-22 06:01:54 +0000 |
commit | 87a64f537b2da1b02a7ec0de254b60614db72074 (patch) | |
tree | 095c8b10c9b4fca54ba9aa5dbe4217f40eaac509 /gcc | |
parent | 1d4f537493ecfd41dcdaef735eee2bedce6a85f6 (diff) | |
download | gcc-87a64f537b2da1b02a7ec0de254b60614db72074.zip gcc-87a64f537b2da1b02a7ec0de254b60614db72074.tar.gz gcc-87a64f537b2da1b02a7ec0de254b60614db72074.tar.bz2 |
re PR fortran/34896 (libgomp.fortran/reduction5.f90)
2008-01-22 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34896
* module.c (read_module): Set use_rename attribute.
2008-01-22 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34896
* gfortran.dg/use_rename_2.f90: New test.
From-SVN: r131712
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/module.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/use_rename_2.f90 | 26 |
4 files changed, 39 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 6446e95..c6be6130a 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2008-01-22 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/34896 + * module.c (read_module): Set use_rename attribute. + 2007-01-21 Tobias Burnus <burnus@net-b.de> 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 <pault@gcc.gnu.org> + + PR fortran/34896 + * gfortran.dg/use_rename_2.f90: New test. + 2008-01-21 Richard Guenther <rguenther@suse.de> 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 <hjl.tools@gmail.com> +! +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" } } |