public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/26074] New: Module array cannot be automatic or assumed shape
@ 2006-02-02 10:49 paul dot richard dot thomas at cea dot fr
2006-02-02 13:26 ` [Bug fortran/26074] " pinskia at gcc dot gnu dot org
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: paul dot richard dot thomas at cea dot fr @ 2006-02-02 10:49 UTC (permalink / raw)
To: gcc-bugs
Reported to the fortran list by Jonathan Dursi
http://gcc.gnu.org/ml/fortran/2006-02/msg00016.html
I can confirm this bug and that the source of the problem is exactly as
suspected by Andrew Pinksi. A patch is on its way, which also fixes PR25103 -
"Automatic object allowed in main program" and tidies up resolve_symbol.
============================================================================
In particular, this compiles:
program foo
integer, parameter :: len = 5
integer :: arr(max(len,1))
end
wheras changing `program' to `module':
module foo
integer, parameter :: len = 5
integer :: arr(max(len,1))
end
produces this:
In file foo.F90:4
integer :: arr(max(len,1))
1
Error: Module array 'arr' at (1) cannot be automatic or assumed shape
--
Summary: Module array cannot be automatic or assumed shape
Product: gcc
Version: 4.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: paul dot richard dot thomas at cea dot fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26074
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/26074] Module array cannot be automatic or assumed shape
2006-02-02 10:49 [Bug fortran/26074] New: Module array cannot be automatic or assumed shape paul dot richard dot thomas at cea dot fr
@ 2006-02-02 13:26 ` pinskia at gcc dot gnu dot org
2006-02-13 21:23 ` pault at gcc dot gnu dot org
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-02 13:26 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from pinskia at gcc dot gnu dot org 2006-02-02 13:26 -------
Confirmed.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |rejects-valid
Last reconfirmed|0000-00-00 00:00:00 |2006-02-02 13:26:55
date| |
Summary|Module array cannot be |Module array cannot be
|automatic or assumed shape |automatic or assumed shape
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26074
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/26074] Module array cannot be automatic or assumed shape
2006-02-02 10:49 [Bug fortran/26074] New: Module array cannot be automatic or assumed shape paul dot richard dot thomas at cea dot fr
2006-02-02 13:26 ` [Bug fortran/26074] " pinskia at gcc dot gnu dot org
@ 2006-02-13 21:23 ` pault at gcc dot gnu dot org
2006-02-13 21:35 ` pault at gcc dot gnu dot org
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-02-13 21:23 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from pault at gcc dot gnu dot org 2006-02-13 21:23 -------
Subject: Bug 26074
Author: pault
Date: Mon Feb 13 21:22:55 2006
New Revision: 110926
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110926
Log:
2006-02-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/26074
PR fortran/25103
* resolve.c (resolve_symbol): Extend the requirement that module
arrays have constant bounds to those in the main program. At the
same time simplify the array bounds, to avoiding trapping parameter
array references, and exclude automatic character length from main
and modules. Rearrange resolve_symbol and resolve_derived to put as
each flavor together, as much as is possible and move all specific
code for flavors FL_VARIABLE, FL_PROCEDURE and FL_PARAMETER into new
functions.
(resolve_fl_var_and_proc, resolve_fl_variable, resolve_fl_procedure):
New functions to do work of resolve_symbol.
(resolve_index_expr): New function that is called from resolved_symbol
and is extracted from resolve_charlen.
(resolve_charlen): Call this new function.
(resolve_fl_derived): Renamed resolve_derived to be consistent with
the naming of the new functions for the other flavours. Change the
charlen checking so that the style is consistent with other similar
checks. Add the generation of the gfc_dt_list, removed from resolve_
symbol.
PR fortran/20861
* resolve.c (resolve_actual_arglist): Prevent internal procedures
from being dummy arguments.
PR fortran/20871
* resolve.c (resolve_actual_arglist): Prevent pure but non-intrinsic
procedures from being dummy arguments.
PR fortran/25083
* resolve.c (check_data_variable): Add test that data variable is in
COMMON.
PR fortran/25088
* resolve.c (resolve_call): Add test that the subroutine does not
have a type.
2006-02-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/26074
PR fortran/25103
* gfortran.dg/module_parameter_array_refs_1.f90: New test.
* gfortran.dg/bad_automatic_objects_1.f90: New test.
* gfortran.dg/automatic_module_variable.f90: Change error message.
PR fortran/20861
* gfortran.dg/internal_dummy_1.f90: New test.
PR fortran/20871
* gfortran.dg/elemental_non_intrinsic_dummy_1.f90: New test.
PR fortran/25083
* gfortran.dg/uncommon_block_data_1.f90: New test.
* gfortran.dg/equiv_constraint_7.f90: Correct non-compliance of test
with standard.
PR fortran/25088
* gfortran.dg/typed_subroutine_1.f90: New test.
Added:
trunk/gcc/testsuite/gfortran.dg/bad_automatic_objects_1.f90
trunk/gcc/testsuite/gfortran.dg/elemental_non_intrinsic_dummy_1.f90
trunk/gcc/testsuite/gfortran.dg/internal_dummy_1.f90
trunk/gcc/testsuite/gfortran.dg/module_parameter_array_refs_1.f90
trunk/gcc/testsuite/gfortran.dg/typed_subroutine_1.f90
trunk/gcc/testsuite/gfortran.dg/uncommon_block_data_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/automatic_module_variable.f90
trunk/gcc/testsuite/gfortran.dg/equiv_constraint_7.f90
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26074
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/26074] Module array cannot be automatic or assumed shape
2006-02-02 10:49 [Bug fortran/26074] New: Module array cannot be automatic or assumed shape paul dot richard dot thomas at cea dot fr
2006-02-02 13:26 ` [Bug fortran/26074] " pinskia at gcc dot gnu dot org
2006-02-13 21:23 ` pault at gcc dot gnu dot org
@ 2006-02-13 21:35 ` pault at gcc dot gnu dot org
2006-02-13 21:37 ` pault at gcc dot gnu dot org
2006-02-14 7:19 ` pault at gcc dot gnu dot org
4 siblings, 0 replies; 6+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-02-13 21:35 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from pault at gcc dot gnu dot org 2006-02-13 21:35 -------
Subject: Bug 26074
Author: pault
Date: Mon Feb 13 21:35:09 2006
New Revision: 110930
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110930
Log:
2006-02-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/26074
PR fortran/25103
* resolve.c (resolve_symbol): Extend the requirement that module
arrays have constant bounds to those in the main program. At the
same time simplify the array bounds, to avoiding trapping parameter
array references, and exclude automatic character length from main
and modules. Rearrange resolve_symbol and resolve_derived to put as
each flavor together, as much as is possible and move all specific
code for flavors FL_VARIABLE, FL_PROCEDURE and FL_PARAMETER into new
functions.
(resolve_fl_var_and_proc, resolve_fl_variable, resolve_fl_procedure):
New functions to do work of resolve_symbol.
(resolve_index_expr): New function that is called from resolved_symbol
and is extracted from resolve_charlen.
(resolve_charlen): Call this new function.
(resolve_fl_derived): Renamed resolve_derived to be consistent with
the naming of the new functions for the other flavours. Change the
charlen checking so that the style is consistent with other similar
checks. Add the generation of the gfc_dt_list, removed from resolve_
symbol.
PR fortran/20861
* resolve.c (resolve_actual_arglist): Prevent internal procedures
from being dummy arguments.
PR fortran/20871
* resolve.c (resolve_actual_arglist): Prevent pure but non-intrinsic
procedures from being dummy arguments.
PR fortran/25083
* resolve.c (check_data_variable): Add test that data variable is in
COMMON.
PR fortran/25088
* resolve.c (resolve_call): Add test that the subroutine does not
have a type.
2006-02-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/26074
PR fortran/25103
* gfortran.dg/module_parameter_array_refs_1.f90: New test.
* gfortran.dg/bad_automatic_objects_1.f90: New test.
* gfortran.dg/automatic_module_variable.f90: Change error message.
PR fortran/20861
* gfortran.dg/internal_dummy_1.f90: New test.
PR fortran/20871
* gfortran.dg/elemental_non_intrinsic_dummy_1.f90: New test.
PR fortran/25083
* gfortran.dg/uncommon_block_data_1.f90: New test.
* gfortran.dg/equiv_constraint_7.f90: Correct non-compliance of test
with standard.
PR fortran/25088
* gfortran.dg/typed_subroutine_1.f90: New test.
Added:
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/bad_automatic_objects_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/internal_dummy_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/module_parameter_array_refs_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/pure_non_intrinsic_dummy_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/typed_subroutine_1.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/uncommon_block_data_1.f90
Modified:
branches/gcc-4_1-branch/gcc/fortran/ChangeLog
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26074
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/26074] Module array cannot be automatic or assumed shape
2006-02-02 10:49 [Bug fortran/26074] New: Module array cannot be automatic or assumed shape paul dot richard dot thomas at cea dot fr
` (2 preceding siblings ...)
2006-02-13 21:35 ` pault at gcc dot gnu dot org
@ 2006-02-13 21:37 ` pault at gcc dot gnu dot org
2006-02-14 7:19 ` pault at gcc dot gnu dot org
4 siblings, 0 replies; 6+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-02-13 21:37 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from pault at gcc dot gnu dot org 2006-02-13 21:37 -------
Fixed on trunk and 4.1.
Paul
--
pault at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26074
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/26074] Module array cannot be automatic or assumed shape
2006-02-02 10:49 [Bug fortran/26074] New: Module array cannot be automatic or assumed shape paul dot richard dot thomas at cea dot fr
` (3 preceding siblings ...)
2006-02-13 21:37 ` pault at gcc dot gnu dot org
@ 2006-02-14 7:19 ` pault at gcc dot gnu dot org
4 siblings, 0 replies; 6+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-02-14 7:19 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from pault at gcc dot gnu dot org 2006-02-14 07:18 -------
Subject: Bug 26074
Author: pault
Date: Tue Feb 14 07:18:44 2006
New Revision: 110960
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110960
Log:
2006-02-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/26074
PR fortran/25103
PR fortran/20861
PR fortran/20871
PR fortran/25083
PR fortran/25088
* resolve.c (resolve): Actually apply the patch below!
Modified:
branches/gcc-4_1-branch/gcc/fortran/resolve.c
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/automatic_module_variable.f90
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/equiv_constraint_7.f90
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26074
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2006-02-14 7:19 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-02-02 10:49 [Bug fortran/26074] New: Module array cannot be automatic or assumed shape paul dot richard dot thomas at cea dot fr
2006-02-02 13:26 ` [Bug fortran/26074] " pinskia at gcc dot gnu dot org
2006-02-13 21:23 ` pault at gcc dot gnu dot org
2006-02-13 21:35 ` pault at gcc dot gnu dot org
2006-02-13 21:37 ` pault at gcc dot gnu dot org
2006-02-14 7:19 ` 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).