public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/51948] New: [OOP] Rejects valid: Polymorphic arguments in MOVE_ALLOC
@ 2012-01-22 17:55 burnus at gcc dot gnu.org
2012-01-23 12:00 ` [Bug fortran/51948] [4.6/4.7 Regression][OOP] Rejects valid: Function result value in MOVE_ALLOC, nested in SELECT TYPE burnus at gcc dot gnu.org
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-01-22 17:55 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51948
Bug #: 51948
Summary: [OOP] Rejects valid: Polymorphic arguments in
MOVE_ALLOC
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: burnus@gcc.gnu.org
The following fails at move_alloc with bogus errors. The second example is
based on the example from
chapter09/burgers_factory_f2003/periodic_6th_order.F90 in the book
http://www.cambridge.org/rouson
type t
end type t
contains
function func(x)
class(t), allocatable :: x(:), func(:)
call move_alloc (x, func)
! FAILS: Error: the 'from' and 'to' arguments of 'move_alloc' intrinsic at (1)
must have the same rank 0/1
end function
function func2(x)
type(t), allocatable :: x
class(t), allocatable :: func2
call move_alloc (x, func)
! FAILS: Error: 'to' argument of 'move_alloc' intrinsic at (1) must be a
variable
end function
end
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/51948] [4.6/4.7 Regression][OOP] Rejects valid: Function result value in MOVE_ALLOC, nested in SELECT TYPE
2012-01-22 17:55 [Bug fortran/51948] New: [OOP] Rejects valid: Polymorphic arguments in MOVE_ALLOC burnus at gcc dot gnu.org
@ 2012-01-23 12:00 ` burnus at gcc dot gnu.org
2012-01-23 20:57 ` burnus at gcc dot gnu.org
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-01-23 12:00 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51948
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.6.3
Summary|[OOP] Rejects valid: |[4.6/4.7 Regression][OOP]
|Polymorphic arguments in |Rejects valid: Function
|MOVE_ALLOC |result value in MOVE_ALLOC,
| |nested in SELECT TYPE
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-01-23 11:43:18 UTC ---
The second example is wrong - and it works after fixing it: s/func/func2/.
This program compiles with GCC 4.5 (and fails with 4.6/4.7) - thus, I marked
the PR as regression.
Better example (still based on periodic_6th_order.F90). The SELECT TYPE is
crucial, a simple ASSOCIATE or BLOCK won't do:
call move_alloc (x, func)
1
Error: 'to' argument of 'move_alloc' intrinsic at (1) must be a variable
The program
type :: t
end type t
contains
function func(x, y)
class(t) :: y ! Dummy variable
type(t), allocatable :: func ! Can also be CLASS
type(t), allocatable :: x ! Can also be CLASS
! call move_alloc (x, func) ! <<< Works
select type (y)
type is(t)
call move_alloc (x, func) ! << Error (but no select variable involved)
end select
end function
end
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/51948] [4.6/4.7 Regression][OOP] Rejects valid: Function result value in MOVE_ALLOC, nested in SELECT TYPE
2012-01-22 17:55 [Bug fortran/51948] New: [OOP] Rejects valid: Polymorphic arguments in MOVE_ALLOC burnus at gcc dot gnu.org
2012-01-23 12:00 ` [Bug fortran/51948] [4.6/4.7 Regression][OOP] Rejects valid: Function result value in MOVE_ALLOC, nested in SELECT TYPE burnus at gcc dot gnu.org
@ 2012-01-23 20:57 ` burnus at gcc dot gnu.org
2012-01-23 22:06 ` burnus at gcc dot gnu.org
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-01-23 20:57 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51948
--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-01-23 20:38:27 UTC ---
Author: burnus
Date: Mon Jan 23 20:38:23 2012
New Revision: 183453
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=183453
Log:
2012-01-23 Tobias Burnus <burnus@net-b.de>
PR fortran/51948
* check.c (variable_check): Fix checking for
result variables and deeply nested BLOCKs.
2012-01-23 Tobias Burnus <burnus@net-b.de>
PR fortran/51948
* gfortran.dg/move_alloc_12.f90: New.
Added:
trunk/gcc/testsuite/gfortran.dg/move_alloc_12.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/check.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/51948] [4.6/4.7 Regression][OOP] Rejects valid: Function result value in MOVE_ALLOC, nested in SELECT TYPE
2012-01-22 17:55 [Bug fortran/51948] New: [OOP] Rejects valid: Polymorphic arguments in MOVE_ALLOC burnus at gcc dot gnu.org
2012-01-23 12:00 ` [Bug fortran/51948] [4.6/4.7 Regression][OOP] Rejects valid: Function result value in MOVE_ALLOC, nested in SELECT TYPE burnus at gcc dot gnu.org
2012-01-23 20:57 ` burnus at gcc dot gnu.org
@ 2012-01-23 22:06 ` burnus at gcc dot gnu.org
2012-01-24 9:06 ` burnus at gcc dot gnu.org
2012-01-24 9:07 ` burnus at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-01-23 22:06 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51948
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-01-23 21:17:26 UTC ---
FIXED.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/51948] [4.6/4.7 Regression][OOP] Rejects valid: Function result value in MOVE_ALLOC, nested in SELECT TYPE
2012-01-22 17:55 [Bug fortran/51948] New: [OOP] Rejects valid: Polymorphic arguments in MOVE_ALLOC burnus at gcc dot gnu.org
` (2 preceding siblings ...)
2012-01-23 22:06 ` burnus at gcc dot gnu.org
@ 2012-01-24 9:06 ` burnus at gcc dot gnu.org
2012-01-24 9:07 ` burnus at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-01-24 9:06 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51948
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |burnus at gcc dot gnu.org
--- Comment #4 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-01-24 08:13:34 UTC ---
(In reply to comment #3)
> FIXED.
Well, the first part of comment 0 is not. I filled a new bug for for it: PR
51977.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/51948] [4.6/4.7 Regression][OOP] Rejects valid: Function result value in MOVE_ALLOC, nested in SELECT TYPE
2012-01-22 17:55 [Bug fortran/51948] New: [OOP] Rejects valid: Polymorphic arguments in MOVE_ALLOC burnus at gcc dot gnu.org
` (3 preceding siblings ...)
2012-01-24 9:06 ` burnus at gcc dot gnu.org
@ 2012-01-24 9:07 ` burnus at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-01-24 9:07 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51948
--- Comment #5 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-01-24 08:35:15 UTC ---
Author: burnus
Date: Tue Jan 24 08:35:10 2012
New Revision: 183469
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=183469
Log:
2012-01-24 Tobias Burnus <burnus@net-b.de>
PR fortran/51948
* check.c (variable_check): Fix checking for
result variables and deeply nested BLOCKs.
2012-01-24 Tobias Burnus <burnus@net-b.de>
PR fortran/51948
* gfortran.dg/move_alloc_12.f90: New.
Added:
branches/gcc-4_6-branch/gcc/testsuite/gfortran.dg/move_alloc_12.f90
Modified:
branches/gcc-4_6-branch/gcc/fortran/ChangeLog
branches/gcc-4_6-branch/gcc/fortran/check.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-01-24 8:35 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-22 17:55 [Bug fortran/51948] New: [OOP] Rejects valid: Polymorphic arguments in MOVE_ALLOC burnus at gcc dot gnu.org
2012-01-23 12:00 ` [Bug fortran/51948] [4.6/4.7 Regression][OOP] Rejects valid: Function result value in MOVE_ALLOC, nested in SELECT TYPE burnus at gcc dot gnu.org
2012-01-23 20:57 ` burnus at gcc dot gnu.org
2012-01-23 22:06 ` burnus at gcc dot gnu.org
2012-01-24 9:06 ` burnus at gcc dot gnu.org
2012-01-24 9:07 ` burnus at gcc dot gnu.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).