public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/33541] New: gfortran wrongly imports renamed-use-associated symbol unrenamed
@ 2007-09-24 8:45 burnus at gcc dot gnu dot org
2007-09-24 8:53 ` [Bug fortran/33541] " burnus at gcc dot gnu dot org
` (13 more replies)
0 siblings, 14 replies; 15+ messages in thread
From: burnus at gcc dot gnu dot org @ 2007-09-24 8:45 UTC (permalink / raw)
To: gcc-bugs
Reported by John Harper,
http://gcc.gnu.org/ml/fortran/2007-09/msg00397.html
The following
use module
use module, only: xrenamed => x
surely makes xrenamed available; however, -- see clause (3) below -- it does
not make 'x' available. In gfortran the symbol 'x' is also imported into the
namespace.
The Fortran 2003 standard contains (11.2.1):
More than one USE statement for a given module may appear in
a scoping unit. If one of the USE statements is without an
ONLY qualifier, all public entities in the module are accessible.
If all the USE statements have ONLY qualifiers, only those
entities named in one or more of the only-lists are accessible.
however, this is followed by the following restrictions:
An accessible entity in the referenced module has one or more
local identifiers. These identifiers are
(1) The identifier of the entity in the referenced module if
that identifier appears as an only use-name or as the
defined-operator of a generic-spec in any only for that module,
(2) Each of the local-names or local-defined-operators that the
entity is given in any rename for that module, and
(3) The identifier of the entity in the referenced module if
that identifier does not appear as a use-name or
use-defined-operator in any rename for that module.
For 'x' case 3 applies (or better it does not apply) and thus 'x' shall not be
imported.
Example by John Harper (ifort, sunf95, NAG f95 and openf95 properly print
.FALSE., gfortran prints .TRUE.):
MODULE xmod
REAL(kind(1d0)) :: x = -666
END MODULE xmod
PROGRAM test2uses
USE xmod
USE xmod, ONLY: xrenamed => x ! kind(1d0)
x = 666 ! kind(1.0): see below
PRINT *,'kind(xrenamed)==kind(x)?',kind(xrenamed)==kind(x)
PRINT *,'That should have printed',.FALSE.
END PROGRAM test2uses
--
Summary: gfortran wrongly imports renamed-use-associated symbol
unrenamed
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33541
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33541] gfortran wrongly imports renamed-use-associated symbol unrenamed
2007-09-24 8:45 [Bug fortran/33541] New: gfortran wrongly imports renamed-use-associated symbol unrenamed burnus at gcc dot gnu dot org
@ 2007-09-24 8:53 ` burnus at gcc dot gnu dot org
2007-10-02 8:52 ` pault at gcc dot gnu dot org
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: burnus at gcc dot gnu dot org @ 2007-09-24 8:53 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from burnus at gcc dot gnu dot org 2007-09-24 08:52 -------
Post script: Fortran 95 contains the same in 11.3.2; the only difference is
that Fortran 2003 talks also about defined-operators.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33541
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33541] gfortran wrongly imports renamed-use-associated symbol unrenamed
2007-09-24 8:45 [Bug fortran/33541] New: gfortran wrongly imports renamed-use-associated symbol unrenamed burnus at gcc dot gnu dot org
2007-09-24 8:53 ` [Bug fortran/33541] " burnus at gcc dot gnu dot org
@ 2007-10-02 8:52 ` pault at gcc dot gnu dot org
2007-11-15 9:47 ` pault at gcc dot gnu dot org
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-10-02 8:52 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from pault at gcc dot gnu dot org 2007-10-02 08:51 -------
confirmed - Paul
--
pault at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |pault at gcc dot gnu dot org
|dot org |
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2007-10-02 08:51:52
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33541
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33541] gfortran wrongly imports renamed-use-associated symbol unrenamed
2007-09-24 8:45 [Bug fortran/33541] New: gfortran wrongly imports renamed-use-associated symbol unrenamed burnus at gcc dot gnu dot org
2007-09-24 8:53 ` [Bug fortran/33541] " burnus at gcc dot gnu dot org
2007-10-02 8:52 ` pault at gcc dot gnu dot org
@ 2007-11-15 9:47 ` pault at gcc dot gnu dot org
2007-11-15 11:16 ` pault at gcc dot gnu dot org
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-11-15 9:47 UTC (permalink / raw)
To: gcc-bugs
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3873 bytes --]
------- Comment #3 from pault at gcc dot gnu dot org 2007-11-15 09:46 -------
The patch below fixes the reported bug. I am going to check to see what needs
to be done to extend this to generic interfaces and operators.
Paul
Index: gcc/fortran/module.c
===================================================================
*** gcc/fortran/module.c (révision 130174)
--- gcc/fortran/module.c (copie de travail)
*************** find_symtree_for_symbol (gfc_symtree *st
*** 3492,3497 ****
--- 3492,3522 ----
}
+ /* A recursive function to look for a spefici symbol by name and by
+ module. Whilst several symtrees might point to one symbol, its
+ is sufficient for the purposes here than one exist. */
+ static gfc_symtree *
+ find_symbol (gfc_symtree *st, const char *name, const char *module)
+ {
+ int c;
+ gfc_symtree *retval;
+
+ if (st == NULL || st->n.sym == NULL)
+ return NULL;
+
+ c = strcmp (name, st->n.sym->name);
+ if (c == 0 && strcmp (module, st->n.sym->module) == 0)
+ return st;
+
+ retval = find_symbol (st->left, name, module);
+
+ if (retval == NULL)
+ retval = find_symbol (st->right, name, module);
+
+ return retval;
+ }
+
+
/* Read a module file. */
static void
*************** read_module (void)
*** 3616,3621 ****
--- 3641,3655 ----
continue;
}
+ /* If a symbol of the same name and module exists already,
+ this symbol, which is not in an ONLY clause, must not be
+ added to the namespace(11.3.2). Note that find_symbol
+ only returns the first occurrence that it finds. */
+ if (p == name && strcmp (name, module_name) != 0
+ && find_symbol (gfc_current_ns->sym_root, name,
+ module_name))
+ continue;
+
st = gfc_find_symtree (gfc_current_ns->sym_root, p);
if (st != NULL)
*************** read_module (void)
*** 3627,3632 ****
--- 3661,3674 ----
}
else
{
+ st = gfc_find_symtree (gfc_current_ns->sym_root, name);
+
+ /* Make symtree inaccessible by renaming if the symbol has
+ been added by a USE statement without an ONLY(11.3.2). */
+ if (st && st->name == st->n.sym->name
+ && strcmp (st->n.sym->module, module_name) == 0)
+ st->name = gfc_get_string ("hidden.%s", name);
+
/* Create a symtree node in the current namespace for this
symbol. */
st = check_unique_name (p)
Index: gcc/testsuite/gfortran.dg/use_only_1.f90
===================================================================
*** gcc/testsuite/gfortran.dg/use_only_1.f90 (révision 0)
--- gcc/testsuite/gfortran.dg/use_only_1.f90 (révision 0)
***************
*** 0 ****
--- 1,31 ----
+ ! { dg-do run }
+ ! { dg-options "-O1" }
+ ! Checks the fix for PR33541, in which a requirement
+ ! of F95 11.3.2 was not being met: The local names
+ ! 'x' and 'y' coming from the USE statements without
+ ! an ONLY clause should not survive in the presence
+ ! of the locally renamed versions.
+ !
+ ! Reported by Reported by John Harper in
+ ! http://gcc.gnu.org/ml/fortran/2007-09/msg00397.html
+ !
+ MODULE xmod
+ integer(4) :: x = -666
+ END MODULE xmod
+
+ MODULE ymod
+ integer(4) :: y = -666
+ END MODULE ymod
+
+ PROGRAM test2uses
+ USE xmod
+ USE xmod, ONLY: xrenamed => x
+ USE ymod, ONLY: yrenamed => y
+ USE ymod
+ implicit integer(2) (a-z)
+ x = 666 ! These assignments should generate implicitly typed
+ y = 666 ! local variable 'x' and 'y'.
+ if (kind(xrenamed) == kind(x)) call abort ()
+ if (kind(yrenamed) == kind(y)) call abort ()
+ END PROGRAM test2uses
+ ! { dg-final { cleanup-modules "xmod ymod" } }
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33541
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33541] gfortran wrongly imports renamed-use-associated symbol unrenamed
2007-09-24 8:45 [Bug fortran/33541] New: gfortran wrongly imports renamed-use-associated symbol unrenamed burnus at gcc dot gnu dot org
` (2 preceding siblings ...)
2007-11-15 9:47 ` pault at gcc dot gnu dot org
@ 2007-11-15 11:16 ` pault at gcc dot gnu dot org
2007-11-15 15:19 ` pault at gcc dot gnu dot org
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-11-15 11:16 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from pault at gcc dot gnu dot org 2007-11-15 11:16 -------
(In reply to comment #3)
Bother, the patch causes some regressions (interface_[3-5].f90)...
Paul
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33541
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33541] gfortran wrongly imports renamed-use-associated symbol unrenamed
2007-09-24 8:45 [Bug fortran/33541] New: gfortran wrongly imports renamed-use-associated symbol unrenamed burnus at gcc dot gnu dot org
` (3 preceding siblings ...)
2007-11-15 11:16 ` pault at gcc dot gnu dot org
@ 2007-11-15 15:19 ` pault at gcc dot gnu dot org
2007-11-19 15:10 ` pault at gcc dot gnu dot org
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-11-15 15:19 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from pault at gcc dot gnu dot org 2007-11-15 15:19 -------
(In reply to comment #4)
> (In reply to comment #3)
> Bother, the patch causes some regressions (interface_[3-5].f90)...
> Paul
These were easily fixed - also nested_modules_1.f90 was not standard compliant
in this regard. It now regtests with find_symbol modified to:
c = strcmp (name, st->n.sym->name);
if (c == 0 && st->n.sym->module
&& strcmp (module, st->n.sym->module) == 0)
return st;
Off to generics and operators now!
Paul
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33541
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33541] gfortran wrongly imports renamed-use-associated symbol unrenamed
2007-09-24 8:45 [Bug fortran/33541] New: gfortran wrongly imports renamed-use-associated symbol unrenamed burnus at gcc dot gnu dot org
` (4 preceding siblings ...)
2007-11-15 15:19 ` pault at gcc dot gnu dot org
@ 2007-11-19 15:10 ` pault at gcc dot gnu dot org
2007-11-22 19:03 ` patchapp at dberlin dot org
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-11-19 15:10 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from pault at gcc dot gnu dot org 2007-11-19 15:10 -------
(In reply to comment #5)
> Off to generics and operators now!
Ahhh... I have run into a serious problem here. It transpires that renaming is
not accomplished for generic interfaces by keeping the use-name symbol with
multiple symtrees, each with a local-name. Instead, the symtree and the symbol
have the local-name. This breaks the mechanism that I evolved above.
The DEC Manual puts the rules rather nicely:
If more than one USE statement for a given module appears in a scoping unit,
the following rules apply:
If one USE statement does not have the ONLY option, all public entities in the
module are accessible, and any rename- lists and only-lists are interpreted as
a single, concatenated rename-list.
If all the USE statements have ONLY options, all the only-lists are interpreted
as a single, concatenated only-list. Only those entities named in one or more
of the only-lists are accessible.
This, I think, shows the way forward. ie. In matching the USE statements, we
only build up the rename-list and flag the presence of a USE statement without
an ONLY. Then, at the last USE statement, we process all the referenced .mod
files just once, using the concatenated rename-list as an only-list or a rename
list, according to what we have seen.
Paul
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33541
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33541] gfortran wrongly imports renamed-use-associated symbol unrenamed
2007-09-24 8:45 [Bug fortran/33541] New: gfortran wrongly imports renamed-use-associated symbol unrenamed burnus at gcc dot gnu dot org
` (5 preceding siblings ...)
2007-11-19 15:10 ` pault at gcc dot gnu dot org
@ 2007-11-22 19:03 ` patchapp at dberlin dot org
2007-11-24 10:17 ` pault at gcc dot gnu dot org
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: patchapp at dberlin dot org @ 2007-11-22 19:03 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from patchapp at dberlin dot org 2007-11-22 19:03 -------
Subject: Bug number PR33541
A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2007-11/msg01166.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33541
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33541] gfortran wrongly imports renamed-use-associated symbol unrenamed
2007-09-24 8:45 [Bug fortran/33541] New: gfortran wrongly imports renamed-use-associated symbol unrenamed burnus at gcc dot gnu dot org
` (6 preceding siblings ...)
2007-11-22 19:03 ` patchapp at dberlin dot org
@ 2007-11-24 10:17 ` pault at gcc dot gnu dot org
2007-11-24 11:04 ` dominiq at lps dot ens dot fr
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-11-24 10:17 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from pault at gcc dot gnu dot org 2007-11-24 10:17 -------
Subject: Bug 33541
Author: pault
Date: Sat Nov 24 10:17:26 2007
New Revision: 130395
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130395
Log:
2007-11-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33541
* module.c (find_symtree_for_symbol): Move to new location.
(find_symbol): New function.
(load_generic_interfaces): Rework completely so that symtrees
have the local name and symbols have the use name. Renamed
generic interfaces exclude the use of the interface without an
ONLY clause (11.3.2).
(read_module): Implement 11.3.2 in the same way as for generic
interfaces.
2007-11-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33541
* gfortran.dg/nested_modules_1.f90: Change the reference to
FOO, forbidden by the standard, to a reference to W.
* gfortran.dg/use_only_1.f90: New test.
Added:
trunk/gcc/testsuite/gfortran.dg/use_only_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/module.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/nested_modules_1.f90
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33541
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33541] gfortran wrongly imports renamed-use-associated symbol unrenamed
2007-09-24 8:45 [Bug fortran/33541] New: gfortran wrongly imports renamed-use-associated symbol unrenamed burnus at gcc dot gnu dot org
` (7 preceding siblings ...)
2007-11-24 10:17 ` pault at gcc dot gnu dot org
@ 2007-11-24 11:04 ` dominiq at lps dot ens dot fr
2007-11-24 12:09 ` burnus at gcc dot gnu dot org
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: dominiq at lps dot ens dot fr @ 2007-11-24 11:04 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from dominiq at lps dot ens dot fr 2007-11-24 11:04 -------
The following test now fails:
! { dg-do run }
! A test to prove that, a sub-routine, variables from the module takes
! precedence in case of name conflict with local entities.
! Reference Fortran 95 standard document section 11.3.2
module modone
real :: var1 = 11.
contains
subroutine set_real(a)
real, intent(in) :: a
var1 = a
end subroutine set_real
end module modone
program module_use_test
integer :: failures=0
real :: var1=5.
call test1
print *, failures
call test2
print *, failures
call test3
print *, failures
call check_results
contains
! A local sub-routine, with similar name from the module
subroutine set_real(a)
real :: a
end subroutine set_real
subroutine check_local_val(a)
real :: a
if ( var1 .eq. a ) then
failures = failures + 1
end if
end subroutine check_local_val
subroutine test1
USE modone
call set_real(10.)
if ( var1 .ne. 10. ) then
failures = failures + 1
end if
end subroutine test1
! When used rename option as local_name => global_name, a global variable gets
referred by
! the new name only, and local_name takes precedence in case of name conflict
as in
! this situation.
subroutine test2
USE modone, global_var_ref1 => var1
USE modone, global_var_ref2 => var1
! This should refer to the global variable 'var1' in the module scope
global_var_ref1 = 13 ! some value
! This should refer to the local variable 'var1' in the scope of 'program'
var1 = 7 ! some value
call check_local_val(global_var_ref1)
if ( global_var_ref1 .ne. global_var_ref2 ) then
failures = failures + 1
end if
end subroutine test2
! scoping tests for the local and global variables
subroutine test3
USE modone, global_var => var1
USE modone
! This should refer to the global variable var1' in the module
global_var = 13.
! This should refer to the global variable 'var1' in the module
var1 = var1 + 0
if ( var1 .ne. global_var ) then
failures = failures + 1
end if
! This should refer to the local variable in the scope of 'program code'
call check_local_val(var1)
end subroutine test3
subroutine check_results
if ( failures .ne. 0 ) call abort()
end subroutine check_results
end program module_use_test
[ibook-dhum] f90/bug% a.out
0
1
3
Abort
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33541
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33541] gfortran wrongly imports renamed-use-associated symbol unrenamed
2007-09-24 8:45 [Bug fortran/33541] New: gfortran wrongly imports renamed-use-associated symbol unrenamed burnus at gcc dot gnu dot org
` (8 preceding siblings ...)
2007-11-24 11:04 ` dominiq at lps dot ens dot fr
@ 2007-11-24 12:09 ` burnus at gcc dot gnu dot org
2007-11-24 12:20 ` burnus at gcc dot gnu dot org
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: burnus at gcc dot gnu dot org @ 2007-11-24 12:09 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from burnus at gcc dot gnu dot org 2007-11-24 12:09 -------
(In reply to comment #9)
> The following test now fails:
That test passes (0 0 0) with gfortran (w/o patch) and g95.
With ifort, NAG f95, openf95 and sunf95 it fails with "0 0 2".
And with the patched gfortran it fails with "0 1 3".
The following is definitely a bug:
module m
integer :: a
end module m
use m, local1 => a
use m, local2 => a
local1 = 5
local2 = 3
print *, local1, local2 ! prints "5 3" instead of "3 3"
end
Dump:
extern integer(kind=4) a;
integer(kind=4) local2;
a = 5;
local2 = 3;
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33541
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33541] gfortran wrongly imports renamed-use-associated symbol unrenamed
2007-09-24 8:45 [Bug fortran/33541] New: gfortran wrongly imports renamed-use-associated symbol unrenamed burnus at gcc dot gnu dot org
` (9 preceding siblings ...)
2007-11-24 12:09 ` burnus at gcc dot gnu dot org
@ 2007-11-24 12:20 ` burnus at gcc dot gnu dot org
2007-11-25 10:41 ` pault at gcc dot gnu dot org
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: burnus at gcc dot gnu dot org @ 2007-11-24 12:20 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from burnus at gcc dot gnu dot org 2007-11-24 12:20 -------
I think the failures in test3 are ok. Example program:
module m
integer :: a = 10
end module m
program p
integer :: a
a = 5
call s()
contains
subroutine s()
use m, local1 => a
use m
print *, local1, a
end subroutine
end program p
This prints "10 10" with g95 and "10 5" with the patched gfortran, NAG f95,
ifort, sunf95 and openf95. Actually, g95 shows the bug with this PR fixes:
(3) The identifier of the entity in the referenced module if
that identifier does not appear as a use-name or
use-defined-operator in any rename for that module.
(see comment 0 for the full quote). That is: "a" is not imported from the
module as "a" as it is already imported as "local1".
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33541
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33541] gfortran wrongly imports renamed-use-associated symbol unrenamed
2007-09-24 8:45 [Bug fortran/33541] New: gfortran wrongly imports renamed-use-associated symbol unrenamed burnus at gcc dot gnu dot org
` (10 preceding siblings ...)
2007-11-24 12:20 ` burnus at gcc dot gnu dot org
@ 2007-11-25 10:41 ` pault at gcc dot gnu dot org
2007-11-27 19:22 ` pault at gcc dot gnu dot org
2007-11-27 20:50 ` pault at gcc dot gnu dot org
13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-11-25 10:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from pault at gcc dot gnu dot org 2007-11-25 10:40 -------
(In reply to comment #11)
> I think the failures in test3 are ok. Example program:
Yes, you are right. You and Dominique are correct about test2. The odd thing
is that there is a test for this in the testsuite already. I'll fix it
tonight.
Many thanks to both of you.
Paul
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33541
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33541] gfortran wrongly imports renamed-use-associated symbol unrenamed
2007-09-24 8:45 [Bug fortran/33541] New: gfortran wrongly imports renamed-use-associated symbol unrenamed burnus at gcc dot gnu dot org
` (11 preceding siblings ...)
2007-11-25 10:41 ` pault at gcc dot gnu dot org
@ 2007-11-27 19:22 ` pault at gcc dot gnu dot org
2007-11-27 20:50 ` pault at gcc dot gnu dot org
13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-11-27 19:22 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from pault at gcc dot gnu dot org 2007-11-27 19:22 -------
Subject: Bug 33541
Author: pault
Date: Tue Nov 27 19:21:52 2007
New Revision: 130471
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130471
Log:
2007-11-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33541
*interface.c (compare_actual_formal): Exclude assumed size
arrays from the possibility of scalar to array mapping.
* decl.c (get_proc_name): Fix whitespace problem.
PR fortran/34231
* gfortran.h : Add 'use_rename' bit to symbol_attribute.
* module.c : Add 'renamed' field to pointer_info.u.rsym.
(load_generic_interfaces): Add 'renamed' that is set after the
number_use_names is called. This is used to set the attribute
use_rename, which, in its turn identifies those symbols that
have not been renamed.
(load_needed): If pointer_info.u.rsym->renamed is set, then
set the use_rename attribute of the symbol.
(read_module): Correct an erroneous use of use_flag. Use the
renamed flag and the use_rename attribute to determine which
symbols are not renamed.
2007-11-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33541
* gfortran.dg/use_11.f90: New test.
PR fortran/34231
* gfortran.dg/generic_15.f90: New test.
Added:
trunk/gcc/testsuite/gfortran.dg/generic_15.f90
trunk/gcc/testsuite/gfortran.dg/use_11.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/decl.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/interface.c
trunk/gcc/fortran/module.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33541
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/33541] gfortran wrongly imports renamed-use-associated symbol unrenamed
2007-09-24 8:45 [Bug fortran/33541] New: gfortran wrongly imports renamed-use-associated symbol unrenamed burnus at gcc dot gnu dot org
` (12 preceding siblings ...)
2007-11-27 19:22 ` pault at gcc dot gnu dot org
@ 2007-11-27 20:50 ` pault at gcc dot gnu dot org
13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-11-27 20:50 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from pault at gcc dot gnu dot org 2007-11-27 20:50 -------
Fixed on trunk.... I hope!
Paul
--
pault at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33541
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2007-11-27 20:50 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-09-24 8:45 [Bug fortran/33541] New: gfortran wrongly imports renamed-use-associated symbol unrenamed burnus at gcc dot gnu dot org
2007-09-24 8:53 ` [Bug fortran/33541] " burnus at gcc dot gnu dot org
2007-10-02 8:52 ` pault at gcc dot gnu dot org
2007-11-15 9:47 ` pault at gcc dot gnu dot org
2007-11-15 11:16 ` pault at gcc dot gnu dot org
2007-11-15 15:19 ` pault at gcc dot gnu dot org
2007-11-19 15:10 ` pault at gcc dot gnu dot org
2007-11-22 19:03 ` patchapp at dberlin dot org
2007-11-24 10:17 ` pault at gcc dot gnu dot org
2007-11-24 11:04 ` dominiq at lps dot ens dot fr
2007-11-24 12:09 ` burnus at gcc dot gnu dot org
2007-11-24 12:20 ` burnus at gcc dot gnu dot org
2007-11-25 10:41 ` pault at gcc dot gnu dot org
2007-11-27 19:22 ` pault at gcc dot gnu dot org
2007-11-27 20:50 ` pault at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).