re PR target/34435 (SSE2 intrinsics - emmintrin with optimisations off and type conversion error)

2007-12-06  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/34435
	* module.c (find_symbol): Do not return symtrees with unique
	names, which shows that they are private.

2007-12-06  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/34435
	* gfortran.dg/used_types_19.f90: New test.

From-SVN: r130642
This commit is contained in:
Paul Thomas 2007-12-06 06:11:01 +00:00
parent 98b2c759a1
commit 95f8fb2500
4 changed files with 39 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2007-12-06 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34435
* module.c (find_symbol): Do not return symtrees with unique
names, which shows that they are private.
2007-12-05 Jakub Jelinek <jakub@redhat.com> 2007-12-05 Jakub Jelinek <jakub@redhat.com>
PR debug/33739 PR debug/33739

View File

@ -3153,7 +3153,8 @@ find_symbol (gfc_symtree *st, const char *name,
c = strcmp (name, st->n.sym->name); c = strcmp (name, st->n.sym->name);
if (c == 0 && st->n.sym->module if (c == 0 && st->n.sym->module
&& strcmp (module, st->n.sym->module) == 0) && strcmp (module, st->n.sym->module) == 0
&& !check_unique_name (st->name))
{ {
if ((!generic && !st->n.sym->attr.generic) if ((!generic && !st->n.sym->attr.generic)
|| (generic && st->n.sym->attr.generic)) || (generic && st->n.sym->attr.generic))

View File

@ -1,3 +1,8 @@
2007-12-06 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34435
* gfortran.dg/used_types_19.f90: New test.
2007-12-06 Kaz Kojima <kkojima@gcc.gnu.org> 2007-12-06 Kaz Kojima <kkojima@gcc.gnu.org>
* gfortran.dg/nan_2.f90: Add -mieee for sh. * gfortran.dg/nan_2.f90: Add -mieee for sh.

View File

@ -0,0 +1,26 @@
! { dg-do compile }
! Tests the fix for PR34335 a regression in which the PRIVATE attribute
! of type(a) in module b would be ignored and would prevent it being
! loaded in the main program.
!
! Contributed by Janus Weil <jaydub66@gmail.com>
!
module A
type A_type
real comp
end type
end module A
module B
use A
private
type(A_type) :: B_var
public:: B_var
end module B
program C
use B
use A
type(A_type):: A_var
end program C
! { dg-final { cleanup-modules "a b" } }